.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.

Slides:



Advertisements
Similar presentations
RP Designs Semi-Custom e-Commerce Package. Overview RP Designs semi- custom e-commerce package is a complete website solution. Visitors can browse a catalog.
Advertisements

Introduction to the Spring Framework
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Stanford University EH&S A Service Oriented Architecture For Rich Internet Applications Sheldon M. Heitz.
LHCbPR V2 Sasha Mazurov, Amine Ben Hammou, Ben Couturier 5th LHCb Computing Workshop
1 JavaScript & AJAX CS , Spring JavaScript.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
User Group 2015 Version 5 Features & Infrastructure Enhancements.
UNIT-V The MVC architecture and Struts Framework.
Client/Server Architectures
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
NextGen Technology upgrade – Synerizip - Sandeep Kamble.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
JavaScript & jQuery the missing manual Chapter 11
 SE18 T07S. NameStudent Number Aye Thet MonA U Ng Siew LengA L PragatiA X Tin Lai WaiHT082204N Varun TakA E Zhang ShudongA A.
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy'
GIS technologies and Web Mapping Services
What’s New in Sage SalesLogix V Release Overview Sage SalesLogix v7.5.2 focuses on: −User Enhancements streamline the user experience furthering.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
SE18S07 1ISS SE18T7S Metric NoName A U AYE THET MON A L NG SIEW LENG A X PRAGATI A X TIN LAI WAI A E VARUN TAK A A.
Echo2 Java AJAX Web Framework Petar Milev. Contents 1.Introduction to Echo2 2.Echo2 Target – Business Web 3.Why Choosing Echo2? 4.Live Demo 5.How It Works?
Todd Snyder Development Team Lead Infragistics Experience Design Group.
Kenny Trytek Joe Briggie Abby Birkett Derek Woods Advisor: Simanta Mitra Client: Matt Good, Kingland Systems.
TVAC Electronic Call Sheet System Team HeatWave Summer 2007.
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Presentation. Recap A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate. Taken advantage of Spring’s multi layer.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
CS 494 Web Development Class Size: Winter, 214: 97 Spring, 214: 81 Summer, 2014: 69.
The huge amount of resources available in the Grids, and the necessity to have the most up-to-date experimental software deployed in all the sites within.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
WaveMaker Visual AJAX Studio 4.0 Training Basics: Building Your First Application Binding Basics.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
WebSphere Portal Technical Conference U.S Creating Rich Internet (AJAX) Applications with WebSphere Portlet Factory.
AJAX Compiled from “AJAX Programming” [Sang Shin] (Asynchronous JavaScript and XML)
Why data services? Common challenges when creating rich web applications Creating rich web applications with data services Future scenarios & roadmap.
Team S07. Agenda Scope of project Global use case diagram Analysis use cases High Level design (Software Architecture) Prototype challenges faced and.
Netprog: Corba Object Services1 CORBA 2.0 Object Services Ref: The Essential Distributed Objects Survival Guide: Orfali, Harky & Edwards.
Model View Controller MVC Web Software Architecture.
Team S07 Metric NoName A U AYE THET MON A L NG SIEW LENG A X PRAGATI A X TIN LAI WAI A E VARUN TAK A A ZHANG SHUDONG.
Asynchronous Javascript And XML AJAX : an introduction UFCEUS-20-2 : Web Programming.
Getting started with ASP.NET MVC Dhananjay
RIA and Web2.0 Development with no Coding Juan Camilo Ruiz Senior Product Manager Development Tools.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
Presentation.
Web Technologies Lecture 6 State preservation. Motivation How to keep user data while navigating on a website? – Authenticate only once – Store wish list.
Presentation Title Subtitle DSpace UI Prototype 7 Spring, Angular.js, and the DSpace REST API.
IPS Infrastructure Technological Overview of Work Done.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 6: Planning, Configuring, And Troubleshooting WINS.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
 AJAX technology  Rich User Experience  Characteristics  Real live examples  JavaScript and AJAX  Web application workflow model – synchronous vs.
.  A reference model developed for an important use case (Air Job) including UI widgets, controllers, services and DAOs.  After full requirement analysis.
1/7/2016www.infocampus.co.in1. 1/7/2016www.infocampus.co.in2 Web Development training gives you and all-round training in both the design and the development.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
Using E-Business Suite Attachments
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 6: Planning, Configuring, And Troubleshooting WINS.
AJAX.
WEB API.
Bootstrap Components Reusable components built to provide iconography, dropdowns, input groups, navigation, alerts, and much more.
ASP.NET Module Subtitle.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
RESTful Web Services.
Choosing between Silverlight and AJAX
Chapter 6: Architectural Design
WCF Data Services and Silverlight
SDMX IT Tools SDMX Registry
Presentation transcript:

 A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection and loose coupled approach of having an MVC architecture.  Rich UI achieved using ExtJS 4.0 Framework at UI layer.  Communication achieved using AJAX calls (XMLHttpRequest) from Client to Server using JSON objects.

Architectural view of ECMS

 A reference model developed for an important use case (Air Job) including UI widgets, controllers, services and DAOs.  After full requirement analysis Entities and DAO layer interfaces are finalized, and implemented.  Individual was assigned use cases to construct both UI components and Service components.

Requirement Gathering and Analysis Requirement Gathering and Analysis Reference application development Reference application development Design and Development Of Use Cases Design and Development Of Use Cases Entity and DAO Implementation Entity and DAO Implementation Improvement And updates in Reference App Improvement And updates in Reference App Continuous Integration and Test Continuous Integration and Test

 All use cases has their entry point at Grid Panels, all Form panels are reached by selecting grid data record and by pressing “Show Details” Button on the grid.  Grid Panels are build much powerful to provide functionalities such as o Filter/Search Records ( Including advanced search) o Refresh the Grid without navigating away from the page. o Pagination. o Add, Remove and Update records, all in one request to server (which enhance usability and makes less server calls)

 Optimistic Concurrency control mechanism is used.  This is achieved by version checking against session and retrieved objects, upon any update and delete.

RequestContext Holder Request Session Version DAO ECMS DB

Plug and play way of apply security to the web application. More configuration less of coding to maintain the security aspects of the application. Aspect Oriented Programming model (AOP) Spring Security 3.0 release is experimented and successfully plugged into Spring Framework 3.x. Secure and extremely secure folders are created to secure static and dynamic contents of server. Access level of such folders are described in security configuration xml. Cryptography is used to protect password from exposure.

Security Context Authentication Object WebAuthenticatio nDetails Object User Authority

 Following important events are used to make server calls upon events trigger when User interacts with the system. o beforeShow (to assemble different forms and their data before it shown to the user.) o afterRequest (to fetch the records to sync UI store with database asynchronously and avoid any race conditions) o beforeRequest (to set parameters to the request) o beforeDestroy (to avoid destroying the pop-up windows and forms to enhance the performance of the system) o expand (upon expanding the accordion layout’s panels) o Collapse( upon colapsing the accordion layout’s panels)

 During the coding, many race conditions are discovered, because of asynchronous nature of the requests.  Among such scenarios the most encountered one is, when a code segment is in under UPDATE or CREATE operation, during this time sending a SELECT request for the same record within the same session is found to be a race condition.  Above race condition identified, and resolved by using afterRequest event handle the SELECT request to update the UI Store.

Race condition here Result with no updates

After request event fired

 Novelty of technology at UI layer. o ExtJS documentation studied and referenced. o Wiki pages were used to share the knowledge within the team.  JSON Parser couldn't able to parse if object properties contains null. o Work around Null values are replaced with empty string before it transmitted from server to UI layer. o Long term fix strategy JSON Parser to be fixed.

 Handling complex objects at UI Layer (ExtJS) o mapping between objects  Lazy Fetching o Lazy fetching was not able to achieve because of JSON Parser limitation of unable to handle null values.

 Refreshing the stale records by estimating user’s operation Rest Time. o UI layer can be enhanced to have capability to refresh the data grids by estimating user’s rest time, and if it reaches a particular threshold value, the system would refresh the data grid by using beforeActivate event of the RowEditor. o Above would avoid user to get into a situation of updating a stale record on grid.

 UI Update for Mobility in work o Proposing client for an update of UI version for Tablets and Smart Phones. o ExtTouch( A mobile javascript framework) shall be used to built tablet and smart phone applications. o HTML 5 standards. o Only User Interface shall required to update and service shall remain as it is.  This is to have an advantage of mobility and instant access to the application with greater performance.

 Integration Requirement o Understand from client that operations are not integrated to the Accounts system. o Proposal for an integration between both of the systems can be consider.

 Concurrent updates acknowledgement- o Grid Panel records can be highlighted in red color of text to notify users that the local copy of the record is stale or no more fresh, and any updates to the stale data will not be persist in database. o The above can be achieve by Observer Design Pattern and Push model of communication from server.

 After getting full understanding of the domain (cargo management), we would like to go for more generalized and multi-tenancy approach of building this application.  Metadata entity model can be used instead of rigid domain model, by which we can achieve customization requirements of data grids, forms and any other view panels for different customer.  Spring’s web service framework can be used to expose server side operation as web services, if necessary.  Releasing it as a software as a service (SaaS).