FactoryLogix Architecture and Technology · The FactoryLogix application server is based on an open...
Transcript of FactoryLogix Architecture and Technology · The FactoryLogix application server is based on an open...
FactoryLogix®
Architecture and
Technology
Deploying FactoryLogix in your IT Environment
FactoryLogix is an enterprise class software system, capable of handling even the
most demanding environments. The system was designed ground-up with
scalability, fault tolerance, and security in mind. Its technology is based on
decades of experience that Aegis earned deploying previous generation MES
systems in thousands of factories around the globe.
4
z
Contents
Change Log .................................................................................................................................. 3
Introduction ..................................................................................................................................... 4
System Architecture and Technology ............................................................................................. 5
Overall Architecture ..................................................................................................................... 5
Service Oriented Architecture (SOA) .......................................................................................... 6
Scalability .................................................................................................................................... 7
Load Balancing ........................................................................................................................ 7
Multi-Threading and Support for Multi-Core Processors ....................................................... 8
FactoryLogix Caching Technology........................................................................................... 8
High Availability Capabilities and Technology ............................................................................ 9
Support for VMWare, Linux, and Hyper-V Virtual Failover Clusters ...................................... 9
Support for Microsoft SQL Server High Availability Features.............................................. 10
Intrinsic High-Availability via Multiple Load Balanced Application Servers ........................ 10
Smart Client Based User Portals .............................................................................................. 11
User Interface Technology ........................................................................................................ 12
Change Log
Version Updated By Updates
0.5 Ken McIntosh Draft
1.0 John Walls Initial Release
Introduction
FactoryLogix is an enterprise class software system, capable of handling even the most demanding
environments. The system was designed ground-up with scalability, fault tolerance, and security in mind. Its
technology is based on decades of experience that Aegis earned deploying previous generation MES systems
in thousands of factories around the globe.
This document provides an overview of the FactoryLogix system architecture and technology. Hardware,
software, and infrastructure requirements are also detailed, as well as guidelines for sizing and deploying the
FactoryLogix solution within your environment.
The intended audience of this document is CIO’s, CTO’s, and other Information Technology (IT) professionals
responsible for deploying and maintaining the FactoryLogix system within their corporate enterprise.
System Architecture and Technology
The FactoryLogix system is a multi-tiered, enterprise class application. It utilizes a highly scalable, service
oriented architecture capable of achieving extremely high transactional rates and servicing the world’s largest
factories and manufacturing environments.
Overall Architecture
The FactoryLogix system is built as a multi-tiered, layered system. All system transactions are funneled through
a unified and common application stack, whether driven by human operations, or by automated data collection
and integration modules. This architecture is depicted in Figure 1 below.
FactoryLogix MES / BUSINESS FUNCTION LAYER
(API)
Windows Communication Foundation (WCF)
LINQ to Entities
FactoryLogixDATA ACCESS LAYER
Entity Framework, ADO.NET
FactoryLogix Database
Automated Data Collection
(xLink)
Standard Aegis User Interface Portals
Custom User PortalsSystem-to-System
Integrations (xTend)
FactoryLogix Application Server
Transaction Sources
FactoryLogixApplication Server(s)
FactoryLogixApplication Server(s)
Figure 1 - FactoryLogix Application Architecture
As can be seen, the system is constructed in layers, with transaction sources at the top of the stack, and the
FactoryLogix database at the bottom. All transactions originate at the top of the stack, typically in response to
an end-user activity. The client application then issues a web service call to a FactoryLogix application server,
which in turn processes the transaction. Windows Communication Foundation (WCF) is the technology which is
responsible for brokering the web service transactions across the network, to and from the client application.
WCF is an open, service oriented, interoperable, and highly scalable technology provided by Microsoft as part
of the .NET Framework.
Service Oriented Architecture (SOA)
The Service Oriented Architecture (SOA) utilized by the FactoryLogix system has many tangible benefits,
including:
All transactions are processed by a singular, highly optimized application stack, regardless of their
source or origin. This ensures that ALL transactions are processed in the same manner, with the
same business rules applied regardless of whether the transaction is initiated by a human operator, or
an automated production system.
Since all transactions are processed through one singular application stack, transaction performance
is consistent and reliable from one application to the next.
The SOA architecture allows FactoryLogix application servers to be scaled both up and out. Multiple
application servers can be deployed to meet the transaction demands of a given deployment, and the
system supports a variety of load-balancing techniques.
The FactoryLogix application server is based on an open service-oriented architecture (SOA), making it
highly interoperable, and allowing clients of most any platform to utilize its services, including Apple
iOS®, Android®, Linux®, and any other platform capable of working with web services.
The application server can evolve and advance over time without impacting the client applications that
are utilizing its services.
By utilizing well established Microsoft components, such as WCF, LINQ, and ADO.NET, the FactoryLogix
system inherits the proven, robust, and advanced capabilities of these technologies, which are utilized
by millions of companies around the globe, and maintained by armies of Microsoft software engineers.
The FactoryLogix MES / Business function layer serves as a singular, open API, which can be used not
only by Aegis client applications, but also by 3rd party integrators or in-house IT staff to build
customizations and integrations to other business systems.
Scalability
FactoryLogix has been designed ground-up to meet the needs to the world’s largest factories. A single
FactoryLogix application server is capable of servicing hundreds of end-users. However, its application-server
centric design allows customers to seamlessly deploy as many servers as may be required to meet the
transactional demands of a given factory environment.
The system is able to scale up or out as required to service many thousands of end-users. This capability is
depicted in Figure 2 below.
DB ServerDB Server
FactoryLogix Application Server Pool
FactoryLogix Application Server Pool
Factory Office NPI Users
Factory Floor Operators
Figure 2 - FactoryLogix Application Server Pooling
Load Balancing
The FactoryLogix design allows IT departments to implement a variety of load-balancing techniques and
technologies when deploying the FactoryLogix system, as depicted in Figure 3. In this manner, the
transactional load of all users can be distributed across a pool of FactoryLogix application servers, thus
providing a fully scalable solution. As transactional demand increases, more servers can be easily added to
the server pool to handle the increased load.
Another benefit of load balancing is high availability. Should a single application server go offline for any
reason, the load balancer can redirect user requests to the remaining servers within the application server
cluster.
Though the great majority of FactoryLogix services are stateless, some methods utilize WCF state to facilitate
callbacks and streaming or larger data sets (such as electronic CAD and real time video). As such, Aegis
requires that the load balancing technology utilized in any given deployment support “sticky sessions”. Sticky
sessions ensure that any single user interacting with the system maintains affinity to a particular application
server over the life of a given set of transactions. This allows a single application server to stream larger data
sets to a given user in “chunks”.
The FactoryLogix system supports the built-in load balancing features of Microsoft’s Windows Server operating
systems (2008, 2008 R2, and 2012). Microsoft refers to this feature as NLB (Network Load Balancing). NLB
supports the concept of sticky sessions, and refers to this feature as “Singe Affinity” mode.
FactoryLogix Application Server
FactoryLogix Application Server
FactoryLogix Application Server
Figure 3 - FactoryLogix Load Balancing
Multi-Threading and Support for Multi-Core Processors
Each service call initiated by an end user on a FactoryLogix application server is serviced by its own
independent thread of execution, dispatched from a thread pool. In practical terms, this means that when
multiple service calls are received by the server at the same time, they can be processed simultaneously by the
server.
This multi-threaded design allows all resources of the server to be fully leveraged as multiple end-users impact
the system. Multi-processor, multi-core, and hyper-threaded servers can execute these simultaneous requests
in parallel with full independence. This design maximizes the performance of each server in a FactoryLogix
application server pool.
FactoryLogix Caching Technology
FactoryLogix application servers utilize a proprietary and unique data-caching technology designed by Aegis
software engineers to optimize transaction processing. Using this technology, transactions are processed
more efficiently, and with less overhead.
The caching technology is specifically designed to dramatically reduce the load on the data-tier and database
server by holding frequently accessed information in memory. The database server is thus freed to focus on
recording data, rather than repetitively retrieving the same information over and over during transaction
processing.
This technique radically reduces database server load, and increases the overall performance and scalability of
the system.
High Availability Capabilities and Technology
Once deployed, the FactoryLogix MES/MOS system will quickly become a mission critical element of your
factory’s operations. Aegis understands this, and has engineered the system to be compatible with a myriad of
high-availability strategies commonly used in today’s IT environments.
Support for VMWare, Linux, and Hyper-V Virtual Failover Clusters
Many enterprises rely on server virtualization as the core element of their high availability strategy. Aegis
understands this, and has engineered the FactoryLogix system to be fully compatible with virtual failover
cluster technology.
FactoryLogix application servers may be deployed as virtual servers within a failover cluster. Failover clusters
utilize multiple physical servers and shared storage to provide seamless and continuous service to application
users in the case of a physical server failure or physical server reboot, as depicted in Figure 4 below.
FactoryLogix supports a variety of popular virtualization and high-availability platforms, including:
VMware (vSphere, ESX, and ESXi)
Microsoft Hyper-V (Windows Server 2008, 2008 R2, and 2012)
Red Hat Linux Enterprise Virtualization (RHEV)
Figure 4 - High-Availability with Virtual Failover Clustering
As can be seen, virtual FactoryLogix application and database servers may be live migrated from one physical
host to another automatically in the case of a physical server failure. FactoryLogix virtual servers may also be
live migrated from one physical host to another on-demand to provide a myriad of additional benefits,
including:
Ability to perform maintenance tasks on physical host servers without incurring any downtime (by
migrating FactoryLogix servers temporarily to another host).
Ability to upgrade to newer more advanced physical servers as they become available without
incurring any downtime.
Ability to replace faulty physical servers without incurring any downtime.
Ability to upgrade physical server components (RAM, processors, etc.) without incurring any downtime.
Ability to seamlessly backup and restore virtual servers via virtual machine snapshots.
Support for Microsoft SQL Server High Availability Features
FactoryLogix utilizes Microsoft SQL Server as its relational database management system, and is compatible
with Micosoft SQL Server’s “AlwaysOn” failover technology. This enables FactoryLogix to continue operation in
the event of an application-level or physical failure of the database management system. In this situation,
FactoryLogix application servers will immediately and transparently failover to a redundant database server
instance, eliminating any end-user downtime.
Intrinsic High-Availability via Multiple Load Balanced Application Servers
As mentioned previously, the FactoryLogix system supports the deployment of multiple application servers
behind a load balancer. When deployed in this manner, it is possible for system to continue operation in the
event of failure of one or more servers operating behind the load balancer. As long as at least one application
server continues to function, end-users will continue to enjoy uninterrupted service. Any number of application
servers can be deployed behind the load balancer to satisfy the desired level of redundancy and failure
protection.
This capability is depicted in Figure 5. This figure shows a situation with 3 application servers, one of which
has failed or been taken offline. In this situation, the remaining two servers simply assume the transactional
load of all end-users. This transition is transparent to the end-users.
FactoryLogix Application Server
FactoryLogix Application Server
FactoryLogix Application Server
Figure 5 - High Availability via Multiple Load Balanced Application Servers
Smart Client Based User Portals
All native FactoryLogix end-user applications are self-deploying smart clients. A smart client is a Windows
based application which can be self-installed by end-users by clicking on a hyperlink or URL shortcut. It is
designed to communicate over a network with an application server in order to function, similar to the way in
which a web browser functions.
Smart clients have numerous benefits as compared to traditional Windows applications, including:
End-users can be sent a hyperlink via email (or other mechanisms) which allows them self-install any
native FactoryLogix smart client application. There is no need for IT administrators to manually deploy
FactoryLogix software on end-user systems.
End-users are NOT REQUIRED to have Administrative privileges on their systems to be able to self-
install or run any FactoryLogix native smart client.
Smart Client applications automatically upgrade or downgrade whenever a new version of FactoryLogix
is installed on the central application server. Each time a smart client runs, it communicates with the
server to ensure the appropriate version of the smart client is installed on the end user’s system. If
not, the smart client automatically downloads and installs the appropriate version.
At the time of this writing, the following FactoryLogix end-user applications are packaged as smart clients:
The FactoryLogix NPI Portal (used in the factory office).
The FactoryLogix Production Portal (used on the factory floor).
The FactoryLogix Analytics Portal (used wherever required).
The FactoryLogix Dashboard Viewer Portal (used wherever required).
FactoryLogix smart clients are deployed using Microsoft’s ClickOnce technology, support for which is packaged
by default into all Microsoft operating systems supported by FactoryLogix. This technology can be controlled by
Active Directory group policy for tighter security and streamlined client installation.
User Interface Technology
FactoryLogix native smart clients utilize the some of the latest graphical user interface technology offered
today, including Windows Presentation Foundation (WPF). This allows end users to have a rich, modern, and
intuitive user experience, reducing training requirements and improving overall usability.
The smart clients are multi-touch compatible, allowing them to be used on the factory floor in situations where
ergonomics demand touch screen based operation.