Wednesday, July 25 2007 @ 10:19 AM EDT
Contributed by: thorne
Views: 2,053
At the upcoming OpeniWorld ( http://www.openiworld.org ) Middlebury College will showcase Harmoni, an open source PHP application framework. Harmoni provides the basics for quickly developing educational applications that will easily integrate into an institution's IT infrastructure. The Harmoni framework is a service-oriented architecture (SOA) that allows such applications to share content and functionality through the O.K.I. open service interface definitions (OSIDs). This means that faculty and students can use a wide range of tools for teaching, learning and research and that those tools can be maintained more easily because they rely on a set common services.
Most interoperability initiatives use standards in their external application programming interfaces (APIs). Harmoni turns this paradigm around by making the interoperability standards, the O.K.I. open service interface definitions (OSIDs), the primary internal API of the system. This design allows an application's data and functionality to be accessible through the OSIDs from its inception. Even more importantly, alternate OSID implementations from third parties may be swapped for those shipped in the framework so that applications can make use of a wide range of infrastructures allowing the framework to evolve.
Most interoperability initiatives use standards in their external application programming interfaces (APIs). Harmoni turns this paradigm around by making the interoperability standards, the O.K.I. open service interface definitions (OSIDs), the primary internal API of the system. This design allows an application's data and functionality to be accessible through the OSIDs from its inception. Even more importantly, alternate OSID implementations from third parties may be swapped for those shipped in the framework so that applications can make use of a wide range of infrastructures allowing the framework to evolve.
"As the number of implemented systems increased we soon realized that we needed to build our applications on a shared framework in order to prevent the impending maintenance nightmare of supporting many applications with marginally divergent code-bases," said Adam Franco, Middlebury's Curricular Technology Programmer/Analyst and lead developer of Harmoni.
"Given a dearth of frameworks suitable for our needs we embarked on the process of developing our own, the Harmoni Application Framework. Our primary goal in the design of Harmoni was to encapsulate much of the common code needed by curricular applications into framework services to prevent the need for reinventing these common pieces in each application. The O.K.I. Open Service Interface Definition (OSID) services happened to be a perfect fit with the services that we envisioned."
Using the O.K.I. OSIDs as the primary internal API of the Harmoni Application Framework provides a host of benefits as well as a few challenges. Middlebury developers will demonstrate how Harmoni can be used to integrate systems for managing learning content and digital assets, allowing faculty and students to develop large searchable collections of assets that can then be used in course sites, blogs, wikis, e-porfolios and so on.
"We are seeing our first benefit of using the OSIDs in this configuration as we build multiple applications that interact with the same data in different ways." said Alex Chapin, Middlebury's Principal Curricular Technologist. "These currently include our Concerto open source digital asset management system, and Segue V2, the latest version of our learning content management system which we plan to release this fall."
In addition, through the use of OSIDs as a native framework interface it becomes very easy to provide access to application data for external applications. This has been realized through a recent integration with the University of Oregon's open source LibraryFind tool.
The final major benefit that Middlebury hopes to gain from their OSID based approach is the ability to selectively replace some or all of our OSID implementations with those provided by third parties. "As the ecosystem of OSID implementations grows I am confident that other teams will develop implementations of various OSIDs that perform much better than our own in a given context," said Mr. Chapin. "Using the OSIDs as our internal API opens the possibility of using these new implementations to support our applications without requiring changes to these applications."
"What the team at Middlebury has achieved is a tremendous benefit to those building enterprise applications in PHP," said Stuart Sim, CTO of MoodleRooms. "MoodleRooms will be using the Harmoni work to inject OSIDs into the Moodle project that will allow the world-wide Moodle community to rapidly develop integration connectors to existing applications and infrastructure and to leverage the existing connectors in the OSID community."