Difference between revisions of "NexJ Express"

From CDOT Wiki
Jump to: navigation, search
(Goal)
(Plan)
Line 62: Line 62:
 
===Plan===
 
===Plan===
 
====Phase 1: JSON Marshalling====
 
====Phase 1: JSON Marshalling====
* Develop marshaller to transform NexJ Server Objects (Transfer Objects) into JSON representation
+
* Develop marshaller to transform NexJ Server Objects into JSON representation
* Develop a [http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html J2EE servlet] to serve JSON via REST.
 
* Servlet will implement GET and DELETE methods
 
  
 
====Phase 2: JSON UnMarshalling====
 
====Phase 2: JSON UnMarshalling====
* Develop an marshaller to tranaform JSON representation into NexJ Server Objects
+
* Develop an marshaller to transform JSON representation into NexJ Server Objects
* Extend servlet to implement POST and PUT methods
+
 
 +
====Phase 3: RESTful Webservice====
 +
* Develop a [http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html J2EE servlet] to serve JSON via REST.
  
 
===Status===
 
===Status===

Revision as of 10:10, 9 July 2010

Introduction

NexJ Express Server is a J2EE-based server software which provides cost effective services for deploying highly-scalable, fault tolerant, distributed enterprise solutions. It encapsulates the key aspects of the NexJ Application Framework and enables the advanced business logic, multiple database connectivity, advanced workflow and rules, rich integration, and enhanced data security that are the hallmarks of all solutions that are configured using NexJ Express Studio.

Contributors

  • Jordan Anastasiade
  • Grace Batumbya

Projects

JSON Adapter

Goal

Add ability to access NexJ Server objects as JSON via a RESTful web service
current implementation

<?xml version="1.0" encoding="utf-8"?>
<_Collection xmlns="http://www.nexj.com/xml" xmlns:xs="http://www.w3.org/2001/XMLSchema" 
               xmlns:xi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://www.nexj.com/xml">
  <item xi:type="Person">
    <_version>0</_version>
    <_oid>104C083E8A4E8A4AD2BAF3011B6A393C97</_oid>
    <_keys>primaryTelcom</_keys>
    <_keys>primaryLanguage</_keys>
    <_keys>initials</_keys>
    <_values xi:nil="true"/>
    <_values xi:nil="true"/>
    <_values xi:nil="true"/>
    <lastName>Bar</lastName>
    <locking>0</locking>
    <firstName>Foo</firstName>
    <company>
      <_version>0</_version>
      <_oid>10209394A0D92641BC9E0FCF36DDAD1C23</_oid>
    </company>
  </item>
</_Collection>

JSON implementation

{
    "_Collection": {
        "item": {
            "_keys": ["primaryTelcom", "primaryLanguage", "initials"],
            "type": "Person",
            "locking": 0,
            "_oid": "104C083E8A4E8A4AD2BAF3011B6A393C97",
            "_version": 0,
            "_values": [
		{"nil": true},
		{"nil": true},
		{"nil": true}
	    ],
            "firstName": "Foo",
            "company": {
                "_oid": "10209394A0D92641BC9E0FCF36DDAD1C23",
                "_version": 0
            },
            "lastName": "Bar"
        },
    }
}

Plan

Phase 1: JSON Marshalling

  • Develop marshaller to transform NexJ Server Objects into JSON representation

Phase 2: JSON UnMarshalling

  • Develop an marshaller to transform JSON representation into NexJ Server Objects

Phase 3: RESTful Webservice

Status

Links

JSON
http://www.json.org
http://www.json.org/java
http://http://code.google.com/p/jsonmarshaller/
REST
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
http://java.sun.com/developer/technicalArticles/WebServices/restful/
http://en.wikipedia.org/wiki/Representational_State_Transfer

Current Tasks

Resources