JPass Framework:
What is jpass all about?
The jpass framework allows users to be in
control of there own website/-service registrations on the web. It automates the
process of registration and retrieve of webservice profiles. Versatile
access methods like desktop, mobile and web are provided to manage and activate
different profiles. Powerfull technologies like XML and SOAP are used to
communicate with the Server and make the jpass server available in UDDI
registers.
What is a webservice profile?
A webservice profile is a data structure which
contains information needed to register and access a webservice. Traditional
website oblige a user to register on a website using texfields in javascript or
other scripting technology. The webservice profile is retrieved from a server
managed by the user himself. A web service profile is defined by a DTD or Schema
and is stored in XML. It is transported using SOAP.
Why not use MS passport?
hmmmm... It's all about trusting yourself and no one else. Passport doesn't offer multiple webservice profiles, is not open and is not managed and controlled by the user himself.
So , as developer where do I start?
jpass is still in it's (early) infancy and needs to be developed in many areas. The different areas to develop are listed below and should give you an idea of the different subprojects. Depending on your area of interest and capabilities you will be able to pick an subproject to work on. The jpass server is a key component and should get a lot of attention. I would also be good if someone could pick up the jpass MIDP subproject.
Subproject: webservice
profile
DTD/XSD: Define the jpass webservice profile in Document
Type Defination (DTD) and XML Schemas. Formatting is XSL based, output is HTML, WML.
current profile/formatting: webpass.dtd, webpass.xsl
XML Security: Implement XML security on document level.
source: not implemented yet.
Subproject: client: J2SE
Description:
The J2SE client enables users to manage their
webservice profiles.
Status: pre-alpha
GUI: The jpass GUI, provides access to the
jpass client application, which runs on any jvm platform.
It provides basic GUI functionality like, menus, toolbar and popup menu's. In
the main section the DOM tree structure
is visualized, using a treemodel adapter. The XML data is also visible using dialogs and HTML editor
panel. The Dialogs are generated dynamically. Futher
enhancements could be to generate dialogs based on DTD or XSD
Source: wpGUI.java;
wpDialog.java, XSLFilter, XMLFilter, wpHTMLEditor.java,
DOMToTreeModelAdapter.java, AdapterNode.java
DOM/SAX:
The Document Object Model (DOM) is an object (Document) representation of an XML
file structure.
The DOM engine class in jpass acts upon a single DOM Document. The current
implementation contains basic methods like:
open, add, edit, delete, get, send
Source: wpDOMEngine.java
SOAP: SOAP engine implements SOAP RPC and messaging client used towards a
jpass enabled server. 2 diferent API's are being tested: JAXM and apache SOAP.
Source: wpDOMEngine.java (should be separate
class)
Subproject: client, J2ME
Description:
The MIDP client is similar to the J2SE client, GUI, DOMEngine, Connectivity. Of course with limited capabilities.
Status: not started yet
Subproject: client, Java Server Pages
Description:
.jsp based web GUI client to communicate with the jpass server.
Status: Not started yet.
Subproject: active button: Applet, ASP, PHP or whatever.
Description:
java applet (or other solution) on a website ("powered by jpass"), which triggers account
retrieval for registration and authentication mechanism for "login" on to a webservice. communicates to jpass server
using SOAP rpc or messaging. The user enters a master password and is presented
a list of jpass profiles.The
selected profile is passed back to the webservice and the service is logged on.
Service providers with jpass powerd websites will differentiate themselves from
others and provide easy access to their service.
Status: Not started yet
Subproject:
Server: J2EE / Apache TOMCAT / SQL
Description:
Implements the jpass server in 3 tier architecture. client-server-database. Deployed on Apache TOMCAT the server contains SOAP rpc methods and SOAP messaging methods. I envisage two different versions of the server.
1. jpass server light (1-5 users , no database)
The light version runs on a desktop PC (at home) and is accessible by all the different clients. (SOAP server is localhost in client settings).
2. jpass multiuser. (unlimited users)
This multi user versions runs on a web server and is hosted by service providers (or other providers). The service providers doesn't maintain the server, but just hosts it. The server management interface will allow to create a database which is used by jpass server. Ultimately the user profiles should be fragmented and stored on different jpass server. Only the user will be able to recollect and assemble the full profile.
It also embeds a XML to SQL converter for database storage. (Perhaps we should store in an XML database, check with other opensource projects).
The jpass webservice will be offered to UDDI using WSDL technology.
Status: Experimental; Only SOAP messaging methods, nothing is done with the we received data. I expect the server will require the most attention.