Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enticy GROUP THE A Framework for Web and WinForms (Client-Server) Applications “Enterprise Software Architecture”

Similar presentations


Presentation on theme: "Enticy GROUP THE A Framework for Web and WinForms (Client-Server) Applications “Enterprise Software Architecture”"— Presentation transcript:

1 Enticy GROUP THE A Framework for Web and WinForms (Client-Server) Applications “Enterprise Software Architecture”

2 Enticy GROUP THE Outline Short introductions Start with a demo (Web and WinForms) Background and technical details Code walkthrough Building an application Topics in depth

3 Enticy GROUP THE Demo 1 Sample Application

4 Enticy GROUP THE The goal is Provide a framework of reusable software components to simplify, speedup, reduce the cost, and assist in the creation of Web and WinForms applications which access databases and follow a business process

5 Enticy GROUP THE Technical Summary Framework processes client requests (Web or Windows GUI), handles business logic, accesses database, and generates output (GUI, XML or XHTML) – full cycle Encapsulates all database access as well as display and form handling A generic solution for writing applications, but with a powerful extensibility model!

6 Enticy GROUP THE Technical Details Reusable layered.NET objects –Our own design and architecture for a Web and WinForms business applications. –Not using bound controls or web form controls –Object oriented Data access encapsulation –Back-end independent approach for common database providers –Automatic SQL generation for searches and CRUD (all form handling) –Abstracted, key-based, optimistic-locking.

7 Enticy GROUP THE Technical Details Metadata driven definition of forms, searches and security –Reusability –Flexible solutions –XML Based Code generation vs. Runtime driven –One body of code –No orphan code –No regens

8 Enticy GROUP THE Technical Details Stateless approach for both vertical and horizontal scalability of Web Apps –No object or object state maintained in memory between requests – all gets persisted –Objects created when needed –Generic objects restore state quickly from metadata, http request, and database –Objects can reside in “MTS” i.e. “Serviced Component” in.NET (“application server”)

9 Enticy GROUP THE Technical Details Multi-layer security and role-based logic –Application logic security is used to authenticate and authorize user access to application and data –login via Oracle, SqlServer, CustomDB, LDAP, Windows, Passport, Certificate, etc. –Framework metadata-driven role-based security –Native support for SSL

10 Enticy GROUP THE Technical Details Layered Application Architecture –Core framework data components –Core framework utility components –Application extensibility components –Platform or presentation specific layer (Web, WinForms, Web Service, etc.) Each encapsulate core framework

11 Enticy GROUP THE Web/client to Server Database IIS Browser.NET WAF Object ASPX pages WAF Object Client Database Server WinForms WAF Object

12 Enticy GROUP THE Demo 2 Behind the sample application.. (Database, metadata, security..)

13 Enticy GROUP THE Framework Objects Two general business application activities: 1.Searching for and listing record sets as well as selecting records to navigate or ‘open’ them (DBFind) 2.Opening a single record, showing a form, to create new, update, or delete (DBRecord).

14 Enticy GROUP THE Framework Objects DBFind –Searching for data to: View (decision support) Select as option (work flow, navigation) Select to modify (transactions) –Invoking actions on found records

15 Enticy GROUP THE Framework Objects DBRecord –CRUD (Create, Read, Update, and Delete) –Validation of data entry –Applying business rules –Transactions –Single record or set handling –Linked records and foreign keys –Edit Form –Result Set Table display

16 Enticy GROUP THE Framework Objects Metastore –Holds Metadata for runtime data driven approach –XML DOM as a global singleton object –Holds all table definitions Fields for each table Search definitions for each table Edit form definitions for each table –Security on most items –System and Application Strings –Multi language support on all items

17 Enticy GROUP THE Framework Objects Additional activities for most business applications –User Profile –Session Control –String dictionary –Request Object –URL builder –Instrumentation (trace, audit, profile, etc.)

18 Enticy GROUP THE Demo 3 Framework project walkthrough

19 Enticy GROUP THE Runtime Client Database Database Server IIS Browser DBFind DBRecord Metastore ASPX pages.NET

20 Enticy GROUP THE XML to HTML XMLMetadataMetastore XML DOM User interface and navigation Basic HTML Java Script Forms Fields Tables Searches Forms Searches DBFind or DBRecord XML HTML SQL XPATH, DOM API Database

21 Enticy GROUP THE Framework Object Life Cycle Create The object XML HTML SQL Restore all needed state Persist state Destroy Object Perform the work Process Input Compose output HTML SQL

22 Enticy GROUP THE Code Example Dim Record As WAFdbComponents.DBRecord 'Create a DBRecord object Record = New WAFdbComponents.DBRecord() 'Build the object from metadata If Record.Build("Company", "EditForm", MainMetaStore, Profile) Then 'Identify and read the record from the database Record.PrimaryKeyValue = sPKey If Record.ReadRecord Then 'Output HTML-form populated with the fetched data Response.Write Record.EditFormHTML End If

23 Enticy GROUP THE Demo 4 Code walkthrough (DBFind, DBRecord)

24 Enticy GROUP THE Framework Extensions Business Rules objects Search Rules objects Field validation objects Authentication object Property retriever Function overrides

25 Enticy GROUP THE Runtime Client Database Database Server IIS Browser DBRecord IBusinessRules Metastore ASPX pages

26 Enticy GROUP THE Framework Object Life Cycle Create The object XML HTML SQL Restore all needed state Persist state Destroy Object Perform the work Process Input Delegate to Business Rules HTML SQL Delegate to Business Rules Compose output

27 Enticy GROUP THE Business Rules objects Objects implementing the IBusinessRules interface Assigned to a DBRecord object (in metadata) Runtime framework delegation CanRead(..) IsValid(..) CanCreate(..)ReadComplete(..) CanEdit(..)WriteComplete(..) CanWrite(..)DeleteComplete(..) CanDelete(..) CanDisplay(..) WriteAllComplete(..)

28 Enticy GROUP THE Search Rules objects Objects implementing the ISearchRules interface Assigned to a DBFind object (in metadata) Runtime framework delegation CanDisplaySearch(..) CanExecute (..)

29 Enticy GROUP THE Field validation objects Objects implementing the IFieldValidation interface Assigned to a Field object Runtime framework delegation IsValid(..)

30 Enticy GROUP THE Demo 5 Business rule code walkthrough

31 Enticy GROUP THE Web Framework ASP.NET layer Pages derived from - System.Web.UI.Page Encapsulates dbComponents work Handles HTTP requests Orchestrates HTML response

32 Enticy GROUP THE Database Browser DBFind DBRecord Metastore System.Web.UI.Page ASP.NET Profile Session webComponents dbComponents WafControllerPage WafFormPage WafForm (Application derived form) html http request (state, action-verb)

33 Enticy GROUP THE Demo 6 Web framework walkthrough Building an Application!

34 Enticy GROUP THE WinForms (Client/Server) WinForms.NET layer MDI Application Class Forms derived from – System.Windows.Forms.Form Encapsulation of dbComponents UI driven (no UI generation)

35 Enticy GROUP THE Database User DBFind DBRecord Metastore WinForms.NET Profile guiComponentsdbComponents Main Application window File Edit Tools FormDbFind Inherits System.Windows.For ms.Form MyForm Inherits FormDbRecord Inherits FormDbRecord Inherits System.Windows. Forms.Form Inherits System.Windows. Forms.Form

36 Enticy GROUP THE Demo 7 WinForms framework walkthrough

37 Enticy GROUP THE Topics in depth UI generation - XML and HTML pages (using customizable XSLTs if desired), SQL generation Back-end independent Generic exception handling Business rule extensibility Profile Session...


Download ppt "Enticy GROUP THE A Framework for Web and WinForms (Client-Server) Applications “Enterprise Software Architecture”"

Similar presentations


Ads by Google