Sunday, November 28, 2010

Flex - Parsley's Dependency Injection Framework (IOC)

Hi,

Flex Parsely's Spicelib framework has an unique feature of dependency injection using the (IOC) Control mechanism.
Parsley being an Application Framework for Flex and Flash applications has been built upon an IOC Container and messaging framework that can be used to create Highly decoupled architectures. It allows you to configure the objects to be managed by the container with MetaData, mxml, xml or as which can be extensible.
The Core of the Framework (IOC) Container and the Messaging Subsystem does not depend on the flex SDK at all.
It Provides the Messaging and Object Lifestyle Management. The Core Features of any IOC Container is the dependency injection.
For Flex Remoting the Framework can help you in two respects, first you can declare your remoteobjects in a parsley configuration class alongside other objects and inject them into your commands/Controller Class or you can use the support for asynchronous commands to also route results and exceptions or remoting invocations using a more decoupled manner.
 IoC Containers provide out of the box methods for instantiating and configuring your application’s objects. The use of an IoC container is dependent on your (and your application’s) needs. For smaller projects, it might not be appropriate.


Cheers!!
Pushkar

Saturday, October 2, 2010

Some of the LiveCycle ES2 Process Management Issues Resolutions

LiveCycle Process Management 9

Task assignments to a user or user group fail even though the user domains in the development and production environments are configured exactly the same.

If a process that was tested in a development environment is executed in a production environment, the task assignment to a user or group fails even though the user domains in the development and production environments are configured exactly the same. The process is also not transferable to another computer (production environment) that had the same user or group added in the LiveCycle Administration Console. To resolve this issue, do one of the steps below:
  • Use the Assign Multiple Tasks operation: Create a UserList and add the group you have created to the UserList. In the User 2.0 service, select the UserList you created as the source of participants for that Assign Multiple Tasks operation.
  • Use the XPath option in the User 2.0 service: Provide either the name or email address of the group you have created. The Xpath expression resolves to the following (including the quotes):
    • “Group Name”
    • “groupEmail@someserver.com”
  • Production environment: Deploy the process, and then use Workbench to connect to the LiveCycle server. Check out and open the process, and then reconfigure the Initial User Selection properties. For example, if you have Assign To Specific User selected, browse and select a different user, and then browse and select the original user again. This sets the Initial User Selection properties to the correct user in the production environment.

Cheers!!
Pushkar

Tuesday, September 28, 2010

Adobe AIR 2

The Adobe® AIR® 2 runtime enables developers to use HTML, JavaScript, Adobe Flash® software, and ActionScript® to build web applications that run as standalone client applications without the constraints of a browser. Adobe AIR and the Adobe Flash Platform unleash the creativity of designers and developers by providing a consistent and flexible development environment for the delivery of applications across devices and platforms. Support for additional platforms, including Android, is under development.



AIR 2 Comes with Global error handler

When an unexpected error occurs within an application, capture the error or error event in a single location and present useful information to the user, such as instructions on how to report the issue or restart the application.

Security improvements ENHANCED

Set the execution bit on a file. Take advantage of encrypted TLS sockets and access to the MAC address.

IPv6 network support


and with more features......


Cheers!!
Pushkar

JVM Termination with Exit Code =1 ES2 Workbench Crashes

Finally Resolved the problem!!! 

The Problem is LC Server fails to log an exception from LC ES2 WB even though getting a failure after logon to the LC Server. 

The failure to display the LC Process designer Screen for either creating a Process or editing a process was occuring because of the Port conflict that comes up when the LCDS 3.1 and the LC WB Communication is running on the same server using the same port.

Just resolved the problem:
Edited the Services Config file with the RTMP tag and changed the port from 2038 to 2058. Redeployed the LCDS 3.1. LC ES2 WB Works fine now...

LC WB ES2 JVM Exit Code = 1 Termination Exception: Unable to view any existing processes or create new processes.

I had been facing this problem for two hours now. Checked the JVM args/JBoss Args (No exception on the JBoss Side), Facing issues only while connecting to Workbench in creating new processes or viewing existing processes. It fails to show the process designer screen and throws an JVM Exit Code exception.
Tried checking the Eclipse/WB related configuration files. Checked the javaw.exe by starting it with the required Xms/Xmx configurations. (No Change).
Cleaned the workbench.exe but still nodifference..
Started the Workbench Exe with the highest possible JVM args Still the problem persists..Not sure wht to do..

Sunday, September 26, 2010

Problem while running Oracle 9i/ (XDB) Jboss/Tomcat on the same port 8080

I Just faced this issue while running the JBoss and Oracle 9i XDB on 8080 port.
Jboss fails to start as the Oracle XDB is running on 8080.

one way to override this Configuration is by changing the configuration of the listener of Oracle. one can remove the xdb http configuration from the listener and restart the lsnrctl (listener). But this would stop the working of XDB.

One can first verify by running the Select Dual Query in the DB using the Sys User (DBA Previledge) for finding the current Httpport in use.

Also, one can run the PL/SQL command below by logging in as a Sys User in the DB.

- Sys/Password @ DBName as sysdba

$> begin
     dbms_xdb.SetHTTPPort('9090');
     end;
     /

This would reset the HttpPort that is being used by the XDB.
Shutdown immediate;
Startup

Restart of the DB would take the changes.

Then you can restart the JBoss to take the changes and run both Oracle XDB as well as Jboss instance.

Cheers!!
Pushkar

Monday, September 20, 2010

Endpoints of LC ES/ES2 and utilizing the LC Components.

As discussed, in my prior post, LiveCycle ES/ES2 have a varied list of endpoints for invocations.
These Invocations can be made a possibility from any layers preferably from Flex UIs.
The Various Endpoints exposed to the outside layer from LC includes
1. EJB. (for Java API)
2. TaskManagers
3. EMail Endpoints.
4. WatchedFolders
5. SOAP
6. Workspace
7. REST (Added with the recent release of LiveCycle ES2) (9.0.0.1).

Each of these end points follow separate methods for invocations and for different needs.
These endpoints when exposed are used primarily for handling all the process invocation standards and configurations.
These Endpoints can be used further along with the Service Configurations to Manage and utilize the LC Components in the process workflows.

Cheers!!
Pushkar

The Latest - LiveCycle ES2 SP1 Patch and its Installation

LiveCycle ES1 (Updated till Sp3), has enhanced its capabilities further with the introduction of the LiveCycle ES2 SP1 by overcoming some of the fixes that existed in the prior versions.
The LiveCycle ES2 SP1 is available here.
There would be three separate downloads that are usually required to install the fixes over the existing build. These tree separate downloads include the fixes to the server components, to the workbench IDE, to the form Designer.

Hence, when you apply all your components and the platform would be updated to a newer version which you can observe in the about page of the LiveCycle adminui. The Version should be updated to 9.0.0.1.
- While running the patches, one has to be sure that one runs the LCM to build the Ear Files.
Steps for different environments: 
Windows OS, Weblogic/Websphere Standalones: 
- use LCM to build new EAR files
- undeploy the current EAR files
- deploy the newly-built EAR files
- deploy LiveCycle solution components (DSCs)
You might run into lot of snags with issues such as the Failure in deployments of the Ears on the App Server from the LCM. You can install the freshly created Ears (from the Export Directory) manually into the App Servers also.
On Clusters, there might be further issues related to failover mechanisms not working or depending upon the OS in use (Sun Solaris/RHEL/AIX5.3) there can be further issues that can be faced. 
If any of the viewers of this blog are facing any issues related to this issue, feel free to post in your views.

Cheers!!
Pushkar

Thursday, September 16, 2010

LiveCycle Workflow Orchestrations: Realizing Complex Business Logic

All Major organizations have a service Layer that realizes the business logic of their business processes. These Business Processes are nothing but workflow patterns that provide a end to end interface capabilities to not only Legacy systems but also different environments and across different domains. There is a Flex UI layer designed for greater User Experience that can have real time interaction capabilities with the SOA Layer. 


The Various Components of LiveCycle have the capabilities to be re-used across different processes for implementing the orchestration workflows. These Orhcestrations (processes) can be re-used as a Sub Process further in another Processes and can be together used as a Service which can be invoked using either of the endpoints depending upon the logic that needs to be implemented.
LiveCycle ES Provides the below Endpoints and recently released ES2 provides an additional REST Endpoint.
TaskManager, WatchedFolder, EJB, SOAP, Remoting, (REST) with ES2.


Next Post: Clarity on the endpoints LC ES/ES2 and utilizing the LC Components.

Cheers!!
Pushkar

Tuesday, September 14, 2010

Adobe LiveCycle ES (SOA) and Flex UI

Adobe LiveCycle (ES2) Development tool can help you extend the value of existing back-end systems by enabling developers to build and deploy applications quickly and easily, and by empowering business users to manage application environments based on their specific needs.

With Adobe LiveCycle ES2, you can make it easier for people to interact with information through intuitive user experiences, improve efficiencies through business process automation, and enhance customer service through personalized communications management.

Adobe LC comes armed with Various ready to use Components to build the orchestration workflow patterns to catter to the business solutions. Apart from the below Components, a custom Solution component can be built to do a desired Operation when deployed in the LC Container.

LiveCycle ES2 modules

Each of these components have their own functionalities which can be extended by writing Custom APIs over LC.

Adobe LC, can be hosted over any of the below environments depending upon the requirements of scalability, response and utilization.

AIX 5.3, RHEL, Windows, Sun Solaris.
Weblogic, websphere, Jboss.
Oracle, mysql, SQLServer, DB2.
(Each of the above have their own specific versions that are supported according to the LC Version in use)

Adobe Flex can be used to design the UI (User Interface), armed with latest Frameworks (Swiz, Cairnogorm, Parsley), it will have a rich GUI for greater user experience and better/faster communications with the SOA (Adobe LC) service Layers using either of the  RTMP/REST/WSDL/SOAP/EJB/TaskManager/Watchedfolder endpoints (enabled by Adobe LiveCycle ES/ES2).


Cheers!!
Pushkar