Posts tagged data services
- Juergen Hauser, Sr. Product Manager – LiveCycle Data Services
Read the complete post at http://blogs.adobe.com/livecycle/2011/12/livecycle-data-services-for-java-ee-4-6-now-available.html.
- Dave Welch, Senior Director – LiveCycle
We are pleased to announce the release of Adobe LiveCycle Enterprise Suite 3 (ES3). LiveCycle ES3 contains the document and data services capabilities, including electronic forms and business processes, which were formerly part of the Adobe Digital Enterprise Platform (ADEP), a brand that is being retired.
The new LiveCycle ES3 release incorporates:
- Document services capabilities available with ADEP and the recent ADEP Document Services service pack 1
- LiveCycle Data Services 4.6.1
- Updates to LiveCycle Connectors for Microsoft® SharePoint® and IBM® FileNet
LiveCycle offers a number of components that help extend the value of existing back-end systems by better engaging users, streamlining processes, managing correspondence, and strengthening security.
Read the complete post at http://blogs.adobe.com/livecycle/2012/03/livecycle-es-3-release-now-available.html.
Session re-writing is the practice of adding the session identifier to the HTTP request URL instead of passing the session identifier as a session cookie. Session re-writing is usually used when cookies have been disabled on the client. It is an easy way to let clients that do not allow or support cookies maintain session state with the server but it poses some security risks. The session identifier is passed in the URL which means that it is not encrypted even if the request is made over SSL/HTTPS. Because of the security risks associated with session re-writing, the Open Web Application Security Project (OWASP) recommends that session re-writing only be used for low-value sites. In this article, I will show you how to disable session re-writing in BlazeDS and LCDS to help secure your application.
In BlazeDS and LCDS, the session identifier is typically either the JSessionId (for servlet based endpoints in BlazeDS or LCDS) or AMFSessionId (for NIO HTTP based endpoints in LCDS).
Note that the RTMP protocol doesn’t use HTTP, so the issue of session re-writing doesn’t apply to RTMP endpoints.
When the BlazeDS or LCDS server receives a request with no session identifier (either a session cookie or session id URL parameter) a couple things happen. A new session is created. A Set-Cookie header with the session id is added to the response. Also, an AppendToGatewayURL header with the session id is added to the AMF or AMFX response message.
Original article at http://meteatamel.wordpress.com/2011/10/20/data-services-4-6-pre-release/.
As of Monday, October 4 2011 we have made a preview release of the next version of Data Service available up on Adobe Labs.
Some the sweet goodness in this release include:
- Adobe Flash® Builder® 4.6, Flex 4.6, AIR and AIR Mobile Support — Build Flex and Flex Mobile applications that run in the browser, desktop or on mobile devices using the very latest cutting edge Adobe technology.
- Managed Remoting — Leverage the power of Data Services Data Management features such as inter-client data sync, paging, entity associations and lazy-loading, with the ease of use of Remoting to create powerful data-centric Flex applications. Re-use your existing Java Beans and persistence using simple JPA-based annotations.
- Native HTML5 Client SDK — Support for building high performance and very lightweight HTML5/JS applications with Remoting (RPC) and Messaging (push) networking capabilities leveraging HTML5 WebSockets and HTTP AMF channels.
- Native Apple iOS Client SDK — Support for building very high performance Apple iOS applications with Remoting (RPC) and Messaging (push) networking capabilities leveraging RTMP and HTTP AMF for online, and Apple Push Notification Network (APN) for offline app support.
- Native Android and Java Client SDKs —Support for building very high performance Google Android and Java applications with Remoting (RPC) and Messaging (push) networking capabilities leveraging RTMP and HTTP AMF channels.
- .NET Adapters and IIS Plug-ins — Create apps that communicate with server-side .NET code using the new .NET Adapters for Remoting, Messaging, Data Management and MSMQ, or use the all-new native C#-based Microsoft IIS Remoting and Messaging plug-ins to directly access C# server-side code in an all-C# environment.
- SAP Connector — Create RIA or Mobile applications that connect to server-side SAP ABAP server. Leveraging powerful Model-Driven Development technology, high performance SAP-backed applications can be created in just minutes and hours versus days, weeks or months.
- Spring Support — Leverage the new built-in support for the Spring Framework Servlet and NIO-based channels, including with NIO channels hosted via Data Services Edge Server for DMZ deployments.
Check it out and leave us some feedback on the Labs forums.
Original article at http://feedproxy.google.com/~r/TomJordahlsMusings/~3/lF0OVX3SuqE/adep-data-services-for-java-ee-46.html.
- Scott Brodersen
Here are some great new blog posts from our good friends in the Adobe Support group:
How to Create a Data Services application for the Experience Server that returns data – Sound familiar? This is a remix of this walkthrough in the ADEP help. Lin’s version is friendlier to CRX and Maven novices.
How to create class/jar files for data service project without using maven – Not ravin’ about Maven? This is for you!
ADEP Data Services Complete Quick Start – Boils down much of the product help content to include only procedures. If you just want to do, and knowing why is not the immediate priority, this is perfect for you.
Original article at http://blogs.adobe.com/ADEPhelp/2011/10/adep-data-services-quick-starts-and-bundling-articles.html.
Last year at MAX, we announced and sneak peeked the new multi-client support in LCDS. LCDS will soon provide native client libraries for iOS, Java, Android, HTML / HTML 5 (with WebSockets support when available), and Flex. The engineering team has been hard at work on this. My friend Mete Atamel has been leading the charges, and he recently recorded the screencast below showing six different clients connecting to an LCDS server.
Original article at http://coenraets.org/blog/2011/05/lcds-multi-client-support-native-ios-android-html-java-and-flex/.
On June 20, 2011, Adobe announced its new “Digital Enterprise Platform” software or ADEP. The platform is designed to address a new problem domain that Adobe and others have identified as “Customer Experience Management” or CEM. Please use the Twitter hashtag #AdobeCEM to follow tweets regarding CEM.
For customers with extant investment in Adobe LiveCycle and are wondering about what all of this means to them, here are some points to consider:
1) The enterprise services, and the orchestration capabilities that LiveCycle provided will all continue to be available as part of the new Adobe Digital Enterprise Platform software. They will henceforth be called “Document Services“.
2) “Document Services” will continue to be J2EE (JEE) applications requiring a J2EE appserver such as JBoss, WebSphere or WebLogic as well as a relational database such as Oracle, SQL Server, DB2 or MySQL.
3) Day CQ5 will become a “Customer Experience Solution” named “Web Experience Management”. There will also be other Customer Experience Solutions.
4) Mosaic will henceforth be called “Composite Application Framework”
5) LiveCycle Data Services will become “Data Services”
5) All “Customer Experience Solutions”, “Composite Application Framework” and “Data Services” will run on the new Apache Felix OSGi framework, not J2EE (no Tomcat, JBoss, WebSphere or WebLogic required). They will be using a JSR-283 compliant Java Content Repository (JCR) – no relational database will be required.
Here’s a simple equation to remember:
ADEP = LiveCycle + (Day) CQ5 + Mosaic + Data Services + “Customer Experience Solutions” (formerly “Solution Accelerators”)
We will be renaming this blog once the Adobe Digital Enterprise Platform software is released.
For those interested in the history of Adobe’s LiveCycle brand, see this.
Original article at http://blogs.adobe.com/livecycle/2011/06/adobe-retires-the-livecycle-brand-its-services-become-part-of-broader-capability.html.
Yesterday I struggled for several hours looking in the Livecycle Data Services code in order to investigate the following error message:TypeError: Error #1034: Type Coercion failed: cannot convert “ZGUID” to QName. It was not easy but in the end I understood that it is an issue related to property collision inside of the ManagedObjectProxy class. The ManagedObjectProxy instance is adding all the properties from the serialized objects into it. However if the name of one of your properties already exists in the ManagedObjectProxy instance then this process will fail. The following properties already exist (inherited from ObjectProxy):
dispatcher : EventDispatcher
notifiers : Object
object : Object
propertyList : Array
proxyClass : Class
type : QName
For the “type” property a fix was provided in Livecycle Data Services 3, but not for the others. So if you design your domain object and you plan to use Livecycle Data Services it’s a good idea to not use this reserved keywords as names for your properties.
The problem appears only if you like to use the proxy approach (not having the corresponding AS class included in the client SWF).
Original article at http://cornelcreanga.com/2009/12/lcds-managedobjectproxy-and-some-reserved-keywords/.
Let’s assume that in a Flex/BlazeDS application you have a destination and a number of producers and consumers associated to that. All the messages created by the producers are received by the consumers, and sometimes you don’t want that – you need to send the message only to a specific consumer or to a specific subset. For example you may have a chat application, so you should be able to offer features like private messaging or the ability to send messages only to some selected users.
In order to implement that you can use message subtopics and message selectors. Both options are described in details in BlazeDS manual, however an important detail related to them is missing – what are the advantages and disadvantages in both cases. Below I’ll try to write the most significant one, related to performance.
The advantage of using selector is the fact that you can define complex expression in order to filter the clients – for example you can use SQL92 conditional expression syntax when testing the message header. The producer can add a string in the message header and every message will be scanned using Consumer selector. The disadvantage is related to performance – every message will be scanned using the consumer selector, and if you have a large number of consumers it can significantly hinder performance, so one should be be careful when using it.
The advantage of using a subtopic is related to performance. BlazeDS will build behind a HashMap per subtopic containing all the associated customers. When a message is produced it will be send to the customers from the corresponding map, without testing for a condition. If the number of consumers with the same subtopic is small compared with the total of consumers the performance difference between selectors and subtopics can be very large.
In conclusion try to stick with subtopics – in most of the cases you don’t need the selector flexibility.
Original article at http://cornelcreanga.com/2010/09/blazeds-message-selectors-vs-subtopics/.