| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

SageArchitectureOverview

Page history last edited by PBworks 16 years, 2 months ago

SAGE (Service Architecture for Government Efficiency) 

 

SAGE Core

Multi-Layered Approach

Data Dictionaries

Other Documentation

 

 

 

SAGE (Service Architecture for Government Efficiency)

SAGE system is an integrated software system that aims at automating all government processes in a unified fashion. It is a large-scale enterprise system designed to provide a standardized business model that will eliminate a significant amount of overhead and complications involved in utilizing government processes. The system is an integration of various small, medium, and large-scale web applications. SAGE is a methodology for analyzing government business processes and It has a robust architecture built on a .Net Framework and prominently uses the functional aspects of Service Oriented Architecture (SOA) for implementing software to support government services.  

 

The SAGE Architecture consists of a SAGE Database, SAGE Data Access Layer, SAGE Core, SAGE Module Layer and SAGE Application Layer. All data of the system is maintained in a well normalized database. SAGE supports SQL Server and Oracle databases. All the layers can access the database only through the data access layer thus ensuring the security of the data. The core consists of the basic systems that are utilized by all the other systems and applications in the SAGE. The Module layer consists of other standard subsystems that provide common functionality to the applications in the application layer. Each module is exposed to the other modules or applications through a web service or a windows service. The application layer consists of many applications that are designed to automate specific business processes. Web Service Interfaces are used for application to application communication thereby accomplishing system Interaction/Integration. 

  

 

 

Web Service Interfaces

 

Applications using a sub-system should not have to be modified when the sub-system is changed; the changes should be transparent to the applications. Likewise, an application need not know how sub-system functionality is implemented. To accomplish that task one of the key concepts of the SCI.Net architecture is the use of Application Programming Interfaces (APIs) that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested services.

 

APIs are programmatic interfaces made available for application to application communication allowing organizations to communicate data without intimate knowledge of each other’s IT systems or time-consuming custom coding. An API is not tied to any operating system or programming language because all communication is in XML. The applications programmatically interface to share business logic, data, and processes, across a network. It is a means to expose a sub-system’s functionality across various applications in a unified fashion. An API is the software used to support integration of multiple applications. 

 

 

 SAGE Core

 

The SAGE Core consists of two basic systems that are combined. These two systems are the User Management System and the Category Code Management System. These systems are tightly coupled to each other. These two subsystems for the base for evert other module or application in the system. In addition the class design of SAGE uses a database access layer that is common to all modules and applications.

 

 

 

 

 

 

User Management System Documentation

 

Category Code Management System Documentation

 

 

SAGE Module Layer

 

Sitting above the core layer is the SAGE module layer. The SAGE architecture includes a growing number of modules, designed to manage dependencies. A module is a logical grouping of various related functional aspects of applications in an enterprise-wide system. They provide common functionality for all applications within the enterprise schema thereby eliminating the necessity of providing the same functionality within each integrated application. SAGE modules are reusable modules to perform tasks and functions that are used by SAGE applications. These modules are designed to meet the needs of all applications that use SAGE. The modules in the SAGE Module layer are loosely coupled, meaning there will be very minimal interaction if there is any, with in these modules. The modules can work independently of each other. These modules are tightly coupled to the SAGE Core. Examples of SAGE Modules are document management, workflow management, feedback management, and letter management.

 

 

Workflow Management System Documentation

 

Help and Feedback Management System Documentation

 

Notification Management System Documentation

 

Deadline Management System Documentation 

 

 

SAGE Application Layer

 

The SAGE application layer is the logic and interface that make up applications. SAGE Applications are developed to meet the business process automation needs of a particular group such as a section, division, department, or enterprise-wide. Multiple applications may be created for each group depending on the type of business performed or the number of processes to automate. The SAGE applications are loosely coupled to each other. There will be no direct interactions between the applications in most cases. But these applications are tightly coupled to the Modules and the Core Subsystems. An example application would be build permits or agenda management. Each of these applications in turn may use multiple modules from the SAGE Module Layer.

 

 

UCF Functionality Management System

 

 

Seminole County Agenda Management

 

 

Seminole County Building Permits

 

 

Seminole County Municipal Services

 

 

Multi-Layered Approach

 

Each module or subsystem or application has a multiple layer approach separating interfaces, business rules, data access layer and data, each capable of containing sub-layers. The User Interface layer consists of ASP documents providing an interface used to display the results of the Business Rules for users. The Business Rules layer contains the business rules, data manipulation, etc., the brains of the application, and the Data layer contains all the data. The user interface or the web service interface is the layer that is exposed to the user or other applications. The business logic is concealed within the Business Logic Layer and is not exposed to the user or other applications. The interfaces can access the data only through the business logic layer. The business logic classes can access the database through the data access layer, thus ensuring the data security. 

 

 

 

 

 

Data Access Layer

 

Use of a Data Access Layer (DAL) is a key component of the SAGE application architecture. The DAL architecture encapsulates all application code in a unique set of classes and uses them to perform database transactions. Layered (or tiered) application designs increase application performance, scalability, flexibility, and code reuse. The objective is to provide data to the business objects without using database specific code. This makes the business object database independent thereby making the application capable of handling transactions across different types of databases such as Oracle, Microsoft SQL Server, etc.
 

Database Access Layer Documentation

 

 

Data Dictionaries

User Management System Data Dictionary

 

 

Category Code Management System Dictionary

 

 

Help and Feedback Management System Data Dictionary 

 

 

Other Documentation

SAGE Programming Guidelines

 

 

 

Guidelines for Setup.doc 

 

 

Appendix/Glossary

 

 

Normalization
Normalization is a database design process used in relational data structures to eliminate data redundancy. It improves flexibility, data integrity, and efficiency.

 

 

Application Programming Interfaces (APIs)
An Application Programming Interface (API) is a method by which different software applications can exchange messages or data. It is a set of rules and functions governing access to data. Applications that use the rules can communicate with any other applications that use the API regardless of the other software’s specifics. It is the middleware providing data sharing across different platforms, and provides a technology for achieving total cross-platform consistency. All applications using a common API are guaranteed to have a similar interface, making user training easier.
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA) is an architecture that relies on service-orientation as its fundamental design principle. A SOA is a collection of services that communicate with each other for simple data passing or coordinating some activity. SOA supports integration and consolidation activities within complex enterprise systems. It unifies business processes by structuring large applications as a collection of smaller modules called services. Web Services can be used to implement the service-oriented architecture. SOA-based systems can therefore be independent of development technologies and platforms. This style of architecture promotes reuse at the service level rather than class level and can be used to simplify interconnection and use of existing legacy systems.
 
.Net Framework
The .NET Framework is Microsoft’s managed code programming model with the ability to model a range of business processes. The Framework is platform independent and supports development in multiple programming languages. .NET also provides a means to access functionality that is implemented in programs that execute outside the .NET environment providing interaction between new and old applications.

 

 

 

 

 

 

 

 

 

 

 

 

Comments (0)

You don't have permission to comment on this page.