Notes of a Telephone Conversation
Alan Hansen, SCT Corporation, August 29, 2003
SCT, Open EAI, and Open Standards
Background
Since our participation in the Postsecondary Electronic Standards Council’s meetings several years ago, Alan Hansen has advised on several Web Services projects beginning with NCHELP’s Meteor Project and now on Web Services-based channels for uPortal.
The University of Illinois and SCT founded/are supporting the OpenEAI Software Foundation. According to their December 17, 2002 press release, “The OpenEAI Software Foundation and the University of Illinois today announced the formation of the OpenEAI Project, an open source Enterprise Application Integration (EAI) initiative that will collaboratively develop and perfect standards-based integration technologies.“ “ … with the support of a major ERP vendor like SCT, we believe these benefits can be extended to the larger higher education domain. The open source nature of the project will allow us to collaborate with others to expedite the evolution of the software and realize these benefits together in as rapid a fashion as possible.”
Alan is the product manager and has been leading the business side including the products strategy. SCT’s Charlie Hardt and Richard Lander have been leading the development.)
On March 13, 2003 the OpenEAI Software Foundation announced the release of a Functional Open Source Sample Enterprise. Some draft and incomplete specification documents were made available. The following example was included in OpenEAI Message Protocol.
<Sender><MessageId>
<SenderAppId>edu.uillinois.uihr.NessieApplication</SenderAppId>
<ProducerId>33b054ea-33a2-4fc0-923b-c62fe2837963</ProducerId>
<MessageSeq>86</MessageSeq>
</MessageId>
<Authentication>
<AuthUserId>nessie</AuthUserId>
</Authentication>
</Sender>
<Datetime>
<Year>2001</Year>
<Month>03</Month>
<Day>23</Day>
<Hour>13</Hour>
<Minute>47</Minute>
<Second>30</Second>
<SubSecond>472</SubSecond>
<Timezone>6:00-GMT</Timezone>
</Datetime>
Figure 1 - Example Message Content
I had been expecting OpenEAI to be a Web Services implementation. The specifications and these examples suggested a different design.
OpenEAI / Web ServicesMessaging / Java Messaging Service / SOAP with W-* content
.NET support / Via JMS/.NET connectors / Inherent
Data representations / Banner?(Alan comments: SCT will use standards when possible internally. SCT will also provide data translation relays when appropriate.)[1] / W3C, OASIS, industry standards
Table 1 - Assumptions and Expectations
In Table 1 I have summarized my assumptions about the EAI design from the documentation and what I was expecting.
Analysis and Comments
There are valid reasons for the Open EAI choice of Java Messaging Service. The Java software is mature, stable, and reliable. JMS supports publish/subscribe and assured message delivery; neither are yet available as standard Web Services.
The OpenEAI design focus appears to be on data synchronization not only among major systems, but functional components within these systems. Because of the number of systems that may need updated data, publish/subscribe is an effective way to achieve synchronization. The U.K. Joint Information Systems Committee discussions focus on exchange between the three major systems at a university—library, learning, and administration. Publish/subscribe may not be required with only two other entities. The emerging Web Services standards define these updates in transaction choreography.[2]
Alan comments: Additionally, OpenEAI allows for point-to-point integration so that non-authoritative sources can request that the authoritative source change its data. This allows for transactional messages to be sent back and forth such as SCT uses in the Luminis Data Integration for eProcurement product.
To avoid simultaneous maintenance of directory data in multiple systems, Common Solutions Group has discussed implementing directory APIs with application systems suppliers so all directory access would be to a central directory service.[3] This option may not be available to OpenEAI within the time available to the University of Illinois and, for business reasons, may not be supported by software suppliers.
There is always an issue about data representations: Are they represented as they exist in legacy systems, or as they will be in standards-compliant applications? The use of date and time, Figure 1, suggested these data representations were from the legacy system only because they did not comply with the W3C, IETF, and FIPS specifications. [See the following discussion].
Alan comments: “Again, the example objects available in the OpenEAI documentation do not represent what SCT will standardize on for the future. We will use standards where possible and work closely with companies in each vendor category.”
Current OpenEAI Implementation
Alan opened the conversation saying, for the reasons above, Java Messaging Service was selected and they were using the Sun ONE software. The University of Illinois needed integration now so other conceptual approaches—such as waiting for Web Services standards implementations—were not viable. The Sun implementation has a history of highly reliable operation and provides every function needed.
Alan comments: “The University of Illinois actually does not use the Sun ONE Message Queue. They use SonicMQ. OpenEAI is actually JMS provider agnostic. SCT is shipping the Sun ONE Message Queue as the default JMS provider. It can be replaced through an SCT technical service engagement or by a very experienced savvy customer.”
Alan pointed out JMS can support SOAP messaging, so integration with systems on the Microsoft operating systems can be supported without installing Java on the Microsoft systems. This implies some duplication of development effort to support two separate environments.
Although the illustrations showed legacy data representations, the actual messages have standard representations. The integration software does data translations between legacy and standard formats.[4]
I commented this discussion is not included in any of the OpenEAI documentation available to the public.
Achieving Interoperability with WebCT and Blackboard
Alan cited his experience integrating Banner with WebCT and Blackboard’s learning management systems as an effective process. (He says: “Just to be clear, I consider this still in-process, but yes, I do consider it an effective process. We are just finishing up with WebCT as far as review of the doc and we are just starting now with Blackboard.”) SCT went through the following steps: First, they defined the protocol—the sequence of exchanging business messages, message formats including tags, elements, and representations, and conversions from legacy formats to data exchange formats. This specification was based on the IMS Enterprise Specifications 1.1. Second, they discussed this with WebCT and modified their draft specifications accordingly. Third, SCT and WebCT implemented the draft specification. (This is in process for the current release, but this process was also followed for the previous release with WebCT.) Fourth, they referred the draft specification to Blackboard for comments and commitment to support the specification. (Alan comments: “This is in process for the first time with Blackboard, but I think it will work fine.” Fifth, the changes were made in the specification and was tested with WebCT. (“This was done on the previous version and is planned out fairly thoroughly for the new version.)
Alan felt this process produced a good specification within a short period of time.
Since Alan was implementing a standard—the IMS data specifications—and did the work, his approach may be an example for similar efforts.
The value of the specification depends upon its acceptance. Because “SCT is the dominant supplier of administrative systems in higher education” and “WebCT and Blackboard” are dominant in learning management systems, he expects the resulting specification to be supported by the industry as a whole.[5]
This approach has several limitations. First, this implementation of messaging may differ from other systems. For example, PeopleSoft supports HR-XML which may differ from Banner. For example, Alan’s implementation may differ from the WS-Security specification and its current implementations.
I made two observations. The specification should be referred to other suppliers such as the U.K. Bodington consortium, Jenzabar, and SAP. I was unable to suggest how that could be achieved. Then there is the question of “open” since none of this has yet been made public.
SCT’s approach is similar to Microsoft and IBM developing proposed standards outside the standards organizations and then building and deploying software implementing these standards before the standards committees consider the drafts. IBM was quite clear they had adopted this procedure to get products to market.[6] Since the University of Illinois has time-sensitive requirements and SCT has contractual obligations, the process Alan described is likely the most effective available to him. (Alan comments: “The University of Illinois did play into SCT’s decision to go with OpenEAI, but the University of Illinois did not really figure into our approach to working with vendors to establishing XML schemas. This was born more out of a desire to create something useful, quickly, and get it into the hands of customers. An example of this would be the OpenEAI eProcurement protocol that was developed.”
SCT and Openness
Few companies are aware of the provisions of the Digital Millennium Copyright Act. For example, SCT has a copyright on their Website press releases.[7] Legally these press releases cannot be printed, cannot be downloaded, and cannot be distributed to others. Similarly SCT has a copyright on David Moldoff’s February whitepapers.[8] In the past, SCT Banner licenses permitted only employees of a licensee to have access to documentation.
This led to two suggestions. First, draft specifications should be available to the public for each step. There have been several effective presentations made to the Luminis users. It would be helpful if these were made public as well. (And I believe the presentations reflect well on SCT’s expertise and intent). Second, copyrights are appropriate, but SCT should simultaneously license the use of many documents so they can be shared. I did comment all firms seem to be having the same problem protecting intellectual property but still making it available to the public. I commented that Microsoft had always honored im+m requests within one business day and IBM and Sun Microsystems within a few days.
The JA-SIG developers’ listserv has been effective in obtaining comments on standards implementations. This may be a good process example, but likely should not be used except for specifications that impact uPortal.
Alan did not comment when the resulting OpenEAI work would be available to the community.
jim farmer12 September 2003
[1] Alan Hansen was asked to review a draft of these notes for accuracy. Some of his comments clarify or extend the discussion. These have been identified and added to the text.
[2] See W3C’s Web Services Architecture, 8 August 2003.
[3] The discussion began at the September 2002 meeting with the suggestion to begin discussions with PeopleSoft Inc.
[4] This approach was successfully used by the U.S. Department of Education for its Common Origination and Disbursement system implementation. The Department used IBM’s MQ series exactly as Alan describes.
[5] Since ERP systems comprise less than 30% of the software at a college or university, the word “dominant” may be an overstatement in the context of integration.
[6] See the slides from Steve Holbrook’s candid keynote at PESC’s Fifth Annual Conference. His introduction reads: “Steve Holbrook is IBM’s Program Director for Emerging E-Business Standards responsible for IBM’s involvement with the key standards bodies, including in the Web Services movement.”
[7] This is likely unintentional. The copyright statement is in the page footer.
[8] im+m requested and received permission from SCT to reproduce these documents in their eLibrary.