Overview
Built on Microsoft .NET, Pierbridge’s AgileElite features an enterprise-class Service Oriented Architecture (SOA) platform designed to meet the strictest IT demands for secure, scalable and reliable processing. Built on .NET and Microsoft SQL Server, AgileElite can be deployed on a single workstation, server or across clustered, load balanced servers for redundancy, failover and performance improvements.
AgileElite installs with IIS and uses Active Directory or Siteminder for user authentication, and https for communicating across the corporate network or Internet. Clients access AgileElite applications via Internet Explorer and systems can access Web Services via AgileElite’s API.
Architecture
The AgileElite platform is comprised of the following Web Service components, each providing a distinct enterprise function or layer:
- Data Engine (Data Layer)
- Projects Server (Presentation Layer)
- Shipment Server (Business Logic Layer)
All components may be used either individually or collectively and depending upon the requirements of a solution, the servers can be either installed on the same machine or split across multiple machines in different locations for the purposes of both resilience and scalability.
Data Engine
The Pierbridge Data Engine (PDE) is a web service that can be used to access and join disparate sources of data wherever they are stored. These sources of data are known as data sources. Any application or database that contains data is a potential data source. An application or database can be used if:
- It can be accessed directly via an ODBC or OLE DB interface.
- It has a application Connector.
- It has an XML interface.
PDE allows the creation and querying of PDE databases. A PDE database can be thought of as a ‘virtual’ database, made up of connections and joins to one or more data sources. All data is maintained within the original data sources. A PDE database can contain one or more data sources of varying types.
Where a join is logically possible, PDE allows information from data sources to be accessed as a single view. This is known as a data view. A data view is created when tables from one or more data sources are joined using a one-to-one join. The data view provides a collective view of the fields in the tables that have been joined.
Data views, from the same or different data sources, can also be joined using a one-to-many join. When a data view is queried, any results are returned as a dataset. Depending upon the capabilities of the data source, PDE supports both read and write access. PDE hides the complexity and provides the data layer to AgileElite solutions. PDE is developed exclusively in Microsoft Visual C# .NET.
PDE is a back-end technology, not normally exposed to the end user. PDE is an enabling data access technology that is consumed and used by other applications or services.
Where data cannot be accessed easily using OLE-DB, ODBC, XML or some form of custom functionality is required, a PDE connector can be used. PDE connectors are a proprietary yet open technology that provides customizable access to practically any application or database. Connectors can be pre-built by us or third parties for virtually any purpose by using the PDE Connector API.
A PDE connector would generally be used to:
- Access data via a non-standards based mechanism.
- Encapsulate business logic and other functionality.
- Limit access to only a subset of the total information available for security or other reasons.
- Limit network-querying traffic.
- Host the data access technology on the system where the data resides, regardless of the platform.
Furthermore, with an easy-to-use class library, PDE itself can be consumed and used by third party applications. To aid this, two COM controls (OCXs), are available to provide front-end GUI interfaces to manage all aspects of configuring PDE databases. These communicate with the PDE web service using SOAP and can be directly used within most development environments.
Projects Server
The Projects Server is a front-end builder application used by Administrator users to rapidly create and rollout data aware projects based on a PDE database, using a visual environment (“Composer”). It is dependent upon PDE for its data access capabilities.
Project Server consists of a Microsoft ASP .NET front-end powered by a C# .NET web service. Both the Administrators and Users interface are wholly browser based and given the appropriate security privileges can be accessed using a Microsoft Internet Explorer browser.
The projects server provides an infinitely flexible presentation layer to AgileElite solutions. Administrators use Projects Server to create projects based upon PDE databases. This is all done in a visual, code-free manner using drag-and-drop functionality. A project can contain multiple pages and the Administrator is merely required to drag fields from a representation of the PDE database and drop them onto a page. This information is stored in the Projects Server database.
Projects Server integrates with either the local or domain security model of the organization. Once a project has been created it can be deployed securely to different users, each with different security permissions.
A user with appropriate permissions can access projects using a Microsoft Internet Explorer browser. When a user logs into and uses a project, the PDE is queried for data and any resulting datasets are combined with the appropriate page layouts and presented to the user’s browser.
Administrator users with an understanding of the underlying data sources and project requirements would create and deploy AgileElite Projects. Any user with appropriate security permissions and a Microsoft Internet Explorer browser can use a Project.
Although Projects Server is a code-free environment, we recognize the fact that experienced users may wish to push the limits of the inherent functionality. As such it is possible to attach either Microsoft VBScript or JScript (JavaScript) user written scripts to page or control events. These powerful scripting languages have full access to a page’s objects and properties and can instantiate COM objects, thus making a project front-end infinitely flexible. Business Logic layers such as the Shipment Server, can also provides custom HTML controls to immediately add drag and drop functionality to any project.
Shipment Server
Shipment Server is a .NET web service that provides carrier compliant business logic to AgileElite projects such as “AgileShip”, “AgileView”, and “AgileRoute” that are hosted by the Projects server. Such projects form the backbone of the AgileElite solution. The Shipment Server provides a business logic layer, managing messages to disparate freight and parcel rating, shipping, manifesting, and tracking technologies and services.
Shipment Server consists of a Microsoft C# .NET web service, several .NET Windows services and an ASP.NET front-end used for configuration. The Shipment Server allows projects created with the Projects Server seamless access to carrier compliant business logic. The server has a number of presentation layer controls that can be dragged and dropped into projects such as AgileShip and customized for specific customer needs. All shipping transactions are passed to the Shipment Server, processed and the result returned. The Shipment Server encompasses all the logic required to process a carrier compliant request and handle any exceptions.
The Shipment Server is stateless and can operate in either a real time or batch mode. Other systems can be directly integrated to the Shipment Server to either process real time or batch transactions. This can be by calling one of many interfaces or having the Shipment Server request the data from another system. Following a successful transaction, the server can then be configured to return data to the host system.
The Shipment Server is used within transportation and logistics management environments in conjunction with the Project Server and Data Engine. In edition to a seamless integration with the Projects server, the Shipment Server also offers the following the following extensibility features:
- XML Web Service Interface
- SOAP WSDL Web Methods Interface.
- Pending SQL Table Population.
- MSMQ Integration.
- Custom Application Connectors.
Performance
The AgileElite Platform can be scaled up and out from a single work station to multiple clustered, load-balanced servers for high volume shipping environments. The table below provides an indication of Shipment Server’s transaction processing performance gains based on load testing using the AgileElite API running on 1-10 servers:
| Cluster Size | Shipments / Minute | Shipments / Hour | Gigabit Network Usage | Gain |
|---|---|---|---|---|
| 1 | 1700 | 102000 | 2% | - |
| 2 | 3340 | 200400 | 4% | 1.96x |
| 3 | 4922 | 295320 | 6% | 1.47x |
| 4 | 6448 | 386880 | 8% | 1.31x |
| 5 | 7920 | 475200 | 10% | 1.23x |
| 6 | 9340 | 560400 | 12% | 1.18x |
| 7 | 10710 | 642600 | 14% | 1.15x |
| 8 | 12032 | 721920 | 16% | 1.12x |
| 9 | 13307 | 798420 | 18% | 1.11x |
| 10 | 14537 | 872220 | 20% | 1.09x |
Requirements
The following are minimum system requirements for implementing AgileElite server and work stations, subject to “right-sizing” analysis during business analysis workshop:
Server Hardware
- One Intel or AMD Equivalent 1.8 GHz Class CPU
- 2GB RAM
- IDE ATA 100 Disk Interface (Min 800MB Free Space On C: Drive)
- 100/1000 Base Network Card
- Microsoft Windows 2000/03 Server w/ latest Service Pack
- Microsoft Internet Information Services Web Service
- Microsoft Message Queues (MSMQ)
- MSMQ Triggers
- Microsoft SQL Server 2000/05 w/ latest Service Pack
- Internet Explorer 6.0 or greater
- 100/1000Mb Ethernet LAN connection
- Internet access
Workstation(s) Hardware
- Pentium Class PC - P4 2.6Gh 512mb Ram WinXP SP2
- Internet Explorer 6.0 or greater
- Serial port for scale
- USB/Parallel port for printer(s)




