New York
University
Computer
Science Department
Courant
Institute of Mathematical Sciences
Course Title: Application Servers Course
Number: g22.3033-011
Instructor: Jean-Claude Franchitti Session:
12
1. Ongoing
Project Background
This homework follows the course on-going project approach described in the homework #1 specification. You should keep enriching your framework-based enterprise application design, and take advantage of the application server platforms used to implement/deploy your application. Your application should be developed in such a way as to be shielded as much as possible from the underlying software infrastructure. For that reason, it is a good idea to build your applications around a portable application framework. As portability issues arise, you will learn how to improve the design of your applications to make them more portable across application server platforms.
2. Web
Services Computing Environments
A “Web Service” is an interface that describes a
collection of operations that are network accessible through standardized XML
messaging.
In this homework, you will experiment with a Web Services platform in the context of the framework-based application developed as part of previous assignments on top of the CORBA and J2EE Component-Based Computing Environments. You may wish to extend the application(s) you developed so far to motivate the need for migration to a Web Services platform as a way to handle flexible access to your application components in a service-trading environment.
2.1. Software Infrastructure Provided:
1.
CORBA
and EJB MOO Frameworks used in previous homework
2.
Other
development tools best suited for Web Services development environments. No
particular Web Services platform is imposed for this homework. However, it is
suggested to look at Microsoft .Net or IBM Alphaworks’ WSTK. Information on
IBM’s WSTK is available at http://www.alphaworks.ibm.com/tech/webservicestoolkit,
and related information can be found at http://xml.coverpages.org/ni2001-02-19-b.html.
3.
No
additional application software is provided for this homework.
Additional
Sample Applications
1.
No
additional sample applications are provided for this homework. You may wish to
refer to the sample application provided by your Web Services platform.
3. Questions
1.
Preparation
phase:
2.
Prepare
a short report documenting your refined framework-based enterprise application
(using software engineering standards), and explaining its motivation.
3.
Prepare
a short report including functional diagrams and screenshots (as needed) to
demonstrate your understanding of the infrastructure software. Explain the
infrastructure software differences between the application you developed in
previous assignments and the one you are developing for this homework.
4.
Develop
and deploy your framework-based enterprise application as follows on top of a
Web Services platform. You are welcome to either reuse services provided by the
sample application or complement them. Document the benefits and deficiencies
of the approach on which Web Services environments are based and explain (as
needed) how it limits your ability to develop the various application components
you have envisioned for your enterprise application. Note that you do not need
to provide a complete implementation of your application in this homework. You
should restrict yourself to what you feel is feasible based on time and the
level of support provided by the infrastructure software. Your application
should be tuned for efficiency as allowed by the underlying infrastructure
software, and you should document your performance engineering approach. You
should conclude your report by suggesting, and implementing (as time allows) an
improved Application Server model.
5. Explain how you would refine the “analyzer” tool you have been working on to capture information about applications deployed in previous assignments, and re-deploy them as XML-based applications such as: (a) the “SpyWeb” applications provided as support material under demo programs on the course Web site, (b) applications based on the Cocoon 2 XSP framework, and (c) Web Services. Note that the target application should again maintain a strict separation between content, style, and logic. As for previous assignments, your analyzer should strive to extract and represent a generic model of your application using a suitable markup language. You should also revisit the comments you made in homework 7 about Sygel’s “Wonder Machine”, and provide a detailed assessment of the added value of an analyzer-based Model Driven Architecture (MDA) as it compares to Microsoft .NET and Sun ONE.
6.
Extra
Credit: Implement a prototype of the analyzer tool described in question 5
(ongoing)
5.
Deliverables
6. Grading
All assignments are graded on a maximum scale of 10 points. Your grade will be based equally on:
a.
The
overall quality of your documentation.
b.
The
understanding and appropriate use of application server related technologies.
c.
Your
ability to submit working and well-commented code.
d.
Extra
credit may be granted for solutions that are particularly creative.
Please let the TA know as
soon as possible about teaming arrangements. You will need to stay with the same
team for the duration of the course. You should only submit one report/archive
per team for each assignment. To balance things out, the final grading in the
course will take into account the fact that you are working as a team instead
of individually, so you should feel free to work individually as well. Note
that the final take home examination will require individual work.