| An Object/Relational Approach to Content Management | Table of contents | Indexes | Grainger Connect | |||
| Banta Integrated Media Rafal, Howard Somerville USA ![]() | Howard B. Rafal |
| Senior Software Engineer |
| Banta Integrated Media |
| 122 Heath Street
Somerville
(Massachusetts)
USA
(02145)
Email: hrafal@banta-im.com |
| Biography |
| Special thanks to Eric Feingold for his excellent editorial work. |
Introduction |
API, Application Programming Interface ![]() | A development team faces many challenges when building complex software. To get a product out in a timely fashion, there have to be trade-offs between quality and features. Sometimes a team must scale back the feature set of a release to ensure better stability,. One way to inderectly add new features to a product is to create Application Programming Interfaces (APIs) that provide third parties the opportunity to create these features. In effect, this expands the development of the product without increasing in-house staff. The problem is that API development creates different challenges because they require a lot of thought and maintenance. |
Creating APIs |
API Libraries |
Platforms | ||||||
Languages | ||||||
Release Management | ||||||
Documentation | ||||||
Training | ||||||
Standard Protocols as APIs |
Platforms | ||||||
Languages | ||||||
Release Management | ||||||
Documentation | ||||||
| To the API developer, effective documentation becomes the most difficult task, but even this task is lightened by having very well known descriptive models. |
Training | ||||||
Case Study |
Standard Protocols |
| After looking at different standard protocols, our development team chose to work with the following standards: XML, MIME, and HTTP. This section describes these choices in more detail. |
XML | ||||||
MIME | ||||||
HTTP | ||||||
Experience |
Building our XML Gateway | ||||||
| Java Web Server Servlet API | We chose Sun's Java Web Server and the Servlet API for building our XML Gateway. Sun's Java Web Server handles all the details of HTTP for us, so we did not have to write any communication code ourselves. The Servlet API takes care of session management using cookies, so we were able to use provided objects to store special user information and that was all we implemented for dealing with clients. |
Integration 1: The Bmedia XT | ||||||
| Quark XTension | A Quark XTension is written by coding to Quark's API. Quark's API library is written in C and our XT team used Metrowerks' PowerPlant framework for building the Macintosh interface for this XT in C++. PowerPlant has Internet classes that handle much of the MIME protocol. We downloaded a C XML parser and wrapped it in C++. |
Results |
Tester | ||||||
| Testing | We had a few months between the point at which the XML Gateway was first working and the point at which the Quark XTension was communicating to it.In the interim, we wanted to test our gateway implementation. So we wrote a stand alone Java application that implemented the Java Servlet API. This application takes input files in XML format, turns them into the proper MIME input, sends the input through the gateway servlet, and then creates the MIME output. We were then able to create a library of tests that can go through our gateway and hit our product servers. |
Web Demo | ||||||
Web ![]() XSL ![]() | Many of our customers have a long history working with print media. These companies are developing strategies for getting their information to the Web. Many of the assets are the same, or at least similar, and much of the meta-data is exactly the same. Since our product is intended for large enterprises and our company does do a significant amount of Web-based work, we are now showing how managed data can be used across different media types. |
Conclusion |
| An Object/Relational Approach to Content Management | Table of contents | Indexes | Grainger Connect | |||