LiveCycle Information Administrations Presentation .


50 views
Uploaded on:
Description
LiveCycle Data Services Introduction. 4/8/08 Nick Kwiatkowski. Want to follow along?. This presentation, and other related materials are available at my blog’s website: http://quetwo.wordpress.com. About Me. Work for Michigan State University as a Telecom Manager (aka, phone guy)
Transcripts
Slide 1

LiveCycle Data Services Introduction 4/8/08 Nick Kwiatkowski

Slide 2

Want to take after along? This presentation, and other related materials are accessible at my online journal\'s site: http://quetwo.wordpress.com

Slide 3

About Me Work for Michigan State University as a Telecom Manager (otherwise known as, telephone fellow) Manager of the Michigan Flex User\'s Group Co-Manager of the Mid-Michigan ColdFusion User\'s Group

Slide 4

What is LiveCycle Data Services? LiveCycle Data Services, separated of the LiveCycle ES bundle is a center product application intended to better associate your customer applications to your application server. Oversee a lot of information Establish informing amongst customers and servers Help recover/store information by means of Remoting and Proxy arrangements.

Slide 5

The Middleware Java LiveCycle DS Flex or AJAX application ColdFusion Data .NET AIR Application PHP Presentation Layer Business Layer Data-Access Layer

Slide 6

The Middleware But you can as of now associate straightforwardly to your application server without LDS! That is valid, notwithstanding, numerous elements are not accessible in simply the AMF/Remoting circumstance LDS can\'t talk specifically to databases.

Slide 7

Other Gotcha\'s LDS is a J2EE application Requires a server Requires Java Often not upheld by shared-facilitating situations Licensed programming (we will get more into that in a moment) Fairly hard to setup (not introduce) Paybacks are awesome, nonetheless.

Slide 8

LDS Licensing Small application can make utilization of LiveCycle Data Services ES Express Edition for FREE. Restricted to 1-CPU No Clustering of information Larger Applications need to buy LDS-ES. Anticipate that about $10,000 will $15,000 per CPU

Slide 9

Free? Yes, LDS is free for advancement and organization for little applications Including business applications. Adobe is attempting to get the \'huge folks\' to pay for everyone\'s toy-box. Accessible at http://www.adobe.com/items/livecycle/dataservices/LCS-Express is incorporated/prepared into ColdFusion 8

Slide 10

What LDS conveys to the table… Data Management Have your application server send a lot of information to LDS, and let it stress over passing it to the customer. This incorporates pagination of information, and information synchronization. Flex Client LDS App Server

Slide 11

What LDS conveys to the table… Data Messaging Allows Flex customers to speak with each other without tying up assets on the App server (the App server can take an interest in these discussions) Flex Client App Server LDS AJAX Client Flex Client

Slide 12

What LDS conveys to the table… Data Proxying: You can intermediary your web-administration or Remoting calls through your LDS to get around confinements in firewalls or strategies. Web Service LDS Flex Client App Server

Slide 13

Data Management Data Management is the part of the LiveCycle Data Services suite of administrations that considers LDS to help you convey and control the information to your end client Allows for Data Synchronization, Data Caching, Data Pagination, and Conflict Resolution.

Slide 14

Data Management How it works: Data is bundled up into \'Worth Objects\', or bundles of information. This generally comprises of a "line" of information from a database Each VO is followed independently with reference to who is review, altering, and so on

Slide 15

Data Management Users then Subscribe to an arrangement of information. LDS will then monitor the condition of that information, and send it from the Application Server to the Flex Application. LDS will "tune in" to any progressions made to the information in the Flex Client.

Slide 16

Data Management If the Collection that holds the information is changed in the customer, LDS will take that change, change the Value Object in memory, send the change to the App server, and redesign all customers progressively.

Slide 17

Data Management When an upgrade is sent to alternate customers, it will check its nearby duplicate, to ensure that record has not changed. In the event that it has, it will issue a "Contention" occasion, and permit the Client to pick what to do.

Slide 18

Data Management On the Client, 95% of your work is taken care of by any of the Collection classes, for example, the ArrayCollection Handles upgrading LDS with Changes, and informing other visual segments of changes.

Slide 19

Data Management When a DataGrid, or InputBox communicate the Change occasion, the ArrayCollection hears it, and redesigns its own information, and passes the change to different segments that subscribe to its change occasion.

Slide 20

Building an Application We will construct a snappy "CMS" application using a DataGrid, and some TextInput boxes. Backend will be ColdFusion and Access LiveCycle 2.5 (ColdFusion) will be utilized Flex Builder 3 alongside Flex 3 SDK

Slide 21

Building an App First, we will need to make another database document in Access. We will utilize the "Contacts" format to make the document. Regularly, we would make a custom database record for this reason. In the case of utilizing Access 2007, make a point to spare the document as an Access 2003 or Access 2000 record.

Slide 22

Building an App Next, we will need to include the new Database as a "Datasource" in ColdFusion Named "contact_cms", utilizing the Access Unicode Driver Load up Flex Builder, and make another Flex Project Web Application, ColdFusion App Server, LiveCycle Data Services

Slide 23

Building an App Create another organizer on the server for the \'Worth Objects\', \bin\cfcs\ Create another AS Class envelope : \src\ascript Open the RDS view, and discover the Contacts table Right-Click on Table, ColdFusion Wizards, Create CFC

Slide 24

Building an App CFC Folder:/contact_cms/receptacle/cfcs CFC Package Name: contact_cms-debug.cfcs CFC Type: LiveCycle DS Assembler Create AS-VO AS Folder: \src\ascript

Slide 25

Building an App Next, we have to alter the LDS design records to enlighten LDS concerning the segments we just made. Document is in the wwwroot\WEB-INF\Flex\ catalog, named information administration config.xml Add another section (Destination) to speak to the part we just made.

Slide 26

Building an App Destination.properties.component Component speck way on the CF server Destination.properties.scope Application or solicitation Destination.properties.metadata.identity Set this to the key field in your table Destination.properties.metadata.query - line sort This is the way to the ActionScript Value Object we made.

Slide 27

Building an App Restart LiveCycle Data Services, and ensure there are no mistakes If utilizing the packaged LDS with ColdFusion, restart the CF Application Service Now, we simply need to make the customer, and we are finished!

Slide 28

Building an App Open your MXML archive, and include a <mx:DataService> label Give it an ID, and the Destination that we utilized as a part of the last stride Add another ArrayCollection variable (to hold your information) Add another capacity to execute the DataService .fill( arrayCollection );

Slide 29

Building an App Next, include a DataGrid and no less than, a catch to trigger the fill() charge. Tie this DataGrid to your ArrayCollection, and set the editable property to genuine. Additionally, open up the Contacts.as document, and notice the [Managed] metadata. This code advises the AS to communicate its progressions to outside segments.

Slide 30

(this is the place things break) Running the application

Slide 31

Running the Application If you upgrade the information in one application, the information gets to be overhauled in some other occurrences of the Flex Client, progressively! Imagine a scenario where you needed to line the progressions, or permit the client to pull out of the progressions before they happen.

Slide 32

Turning off AutoCommit keeping in mind the end goal to permit the customers to line changes, and control when they submit the progressions, we have to kill the AutoCommit highlight of the DataService Add the autoCommit="false" statement to the DataService segment. We will now need to add two catches to permit the client to submit their progressions.

Slide 33

Turning off AutoCommit Add two extra catches: Name one Apply, with a tick occasion of : dataService.commit(); Name the second Cancel, with a tick occasion of : dataService.revertChanges();

Slide 34

Auto-Commit demo

Slide 35

Adding and Removing Items Adding and expelling things to the database is as paltry as adding another thing to the ArrayCollection. Keep in mind while including a thing, you may need to kill the AutoCommit highlight, as your database may not permit invalid qualities. ArrayCollection .addItem(new className() ); DataService. deleteItem( dgContacts. selectedItem);

Slide 36

Conflicts Another pleasant thing about Data Management is the capacity to have Conflict Resolution incorporated right with your application. LDS can trigger an occasion when another client redesigns a record you are as of now upgrading Add the "contention" occasion handler to the DataService to make your own particular clash handler.

Slide 37

Conflict When taking care of a contention, you have the alternative to overhaul with your rendition, take the server\'s variant, or to give the client a chance to pick what form to keep. Lets demonstrate to identify a contention in information sets, tell the end client, overwrite the customer\'s information with the server\'s rendition.

Slide 38

Conflict determination

Slide 39

Fill Queries Using the \'out of the case\' information administration is extraordinary in the event that you need to return full arrangements of information But what happens in the event that you need to return just a part of your full table; for instance an item? You can redo your fill parameters by changing your constructing agent\'s Fill() capacity and passing the fill as the second parameter of the call.

Slide 40

Fill Queries For instance: DataService .fill( ArrayCollection, SearchString:string); Translates to: <cffunction name="fill"> <cfargument name="searchString"… ./> </cffunction>

Slide 41

Paging What happens in the event that you have an excessive amount of information come back from an inquiry to send down to the customers? For instance, would you truly like to send 50,000 records down the channel? LDS has an inherent Paging component!

Slide 42

Paging

Recommended
View more...