Difference between revisions of "NexJ Express"

From CDOT Wiki
Jump to: navigation, search
(Projects)
(JSON Adapter)
Line 82: Line 82:
  
 
====Phase 3: Code Review 1 ====
 
====Phase 3: Code Review 1 ====
* Send code to NexJ for Review
+
* Send patch to NexJ for review
  
 
====Phase 4: Make Changes as per Code Review 1 ====
 
====Phase 4: Make Changes as per Code Review 1 ====
 +
* Refactor JSONSever and TextServer to inherit from GenericCharacterStreamHTTPServer
 +
* Optimize marshaling of nested Pair objects
 +
* Rename variables and methods as per NexJ Developer's Guide
 +
 +
====Phase 5: Code Review 2 ====
 +
* Send patch to NexJ for review
  
 
===Status===
 
===Status===
 
Phase 1: done
 
Phase 1: done
 
Phase 2: done
 
Phase 2: done
Phase 3: on going
+
Phase 3: done
 +
Phase 4: done
 +
Phase 5: On-going
  
 
===Links===
 
===Links===
 
'''JSON''' <br/>
 
'''JSON''' <br/>
 
http://www.json.org <br/>
 
http://www.json.org <br/>
http://www.json.org/java <br/>
 
http://http://code.google.com/p/jsonmarshaller/ <br/>
 
  
 
===Current Tasks===
 
===Current Tasks===

Revision as of 16:20, 17 September 2010

Introduction

NexJ Express Server is a Java EE-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: Design Proposal

  • Get requirements from NexJ
  • Incorporate requirements from NexJ into Design of JSON Adapater
  • Proposal proposal for review, make changes as by NexJ until approved

Phase 2: Coding

  • JSONMarshaller
    • Develop marshaller to transform NexJ Server Objects into JSON representation
  • JSONUnmarshaller
    • Develop an marshaller to transform JSON representation into NexJ Server Objects
  • JSON Server
    • Develop a JSON Server to expose NexJ Server objects in JSON
  • Demo application that interacts with the Server using JSON
    • Read Server Objects
    • Update Server Objects
    • Create Server objects

Phase 3: Code Review 1

  • Send patch to NexJ for review

Phase 4: Make Changes as per Code Review 1

  • Refactor JSONSever and TextServer to inherit from GenericCharacterStreamHTTPServer
  • Optimize marshaling of nested Pair objects
  • Rename variables and methods as per NexJ Developer's Guide

Phase 5: Code Review 2

  • Send patch to NexJ for review

Status

Phase 1: done Phase 2: done Phase 3: done Phase 4: done Phase 5: On-going

Links

JSON
http://www.json.org

Current Tasks

RESTful Webservice

PostgreSQL Adapter

Resources