VIEWS: 0 PAGES: 6 POSTED ON: 4/16/2013
Orange Leap – Architecture Introduction Orange Leap is the non-profit industry's first Active Constituent Relationship Management (ACRM) Platform. It has been designed from the ground up to be customizable on an organization-by-organization basis. Orange Leap provides the most flexible, lowest-cost CRM solution available to the non-profit market. Customizations can be performed at virtually every layer of the application. A key benefit to a customizable architecture is that we can adapt the solution to support your existing business processes rather than the other way around. By implementing your business processes with the Orange Leap platform, we can reduce your organization's CRM system's operational costs. What is an ACRM? Traditional CRM solutions available today are nothing more than passive data repositories. They do little to enforce business processes or reduce the manual processes associated with operating a non-profit's CRM solution. This means that people are responsible for executing your organization's business processes which proves to be a major risk to most non-profits. When an employee leaves, a significant part of your business processes and knowledge can potentially leave with them. The cost to retrain a new employee is significant as often these business processes are not appropriately documented and have changed over time. By deploying Orange Leap's ACRM, your organization's business processes are actually executed by the system rather than the people in your organization. This means that your employees can be repurposed to focus on fundraising strategy rather than software strategy. This also means that business processes will continue uninterrupted regardless of the employee's availability. All of this leads to a lower cost to operate Orange Leap's ACRM, as well as a more hands-on treatment and focus of your constituents and fostering of those relationships. Benefits of the Orange Leap Architecture Orange Leap's architecture provides significant benefit to our customers and their business. Ultimately, all of the architectural decisions have been made with one of two goals in mind: 1. Lower Total Cost of Ownership * Orange Leap is a SaaS (Software as a Service) solution -- no infrastructure is required (including administration). * Orange Leap's customization capability allow your implementation: o To be adapted to your existing business processes. o To evolve with your organization, changing as you change. * Orange Leap's automation capabilities: o Allow you to eliminate cumbersome and error-prone manual processes. o Can automatically execute your business processes. www.OrangeLeap.com | email@example.com | 1 (800) 562-5150 | 13800 Montfort Drive, Suite 220, Dallas TX 75240 Orange Leap – Architecture 2. To be Easy to Use * Orange Leap's customizable user interface can be adapted to your requirements, eliminating unnecessary and confusing elements. * Customizable required fields and input formats can ensure consistent data entry, which in turn, improves your reporting accuracy. * Customizable error messages can reduce confusion and support time. * Customizable business rules can perform your process for you, eliminating cumbersome and error-prone manual processes and improving segmentation accuracy. Hosting Service Provider Orange Leap is hosted at Rackspace. Rackspace is a premier hosting provider for application services, providing Tier 1 support with a two-hour hardware replacement guarantee in the event of a hardware failure. In addition, Rackspace provides Tier 1 support and manages all Firewalls, Routers, Load Balancers, RedHat Linux Servers, Apache Web Servers, as well as for MySQL Server support. Both on-site as well as off-site backup services are provided, too. Network Architecture Orange Leap's network is fully redundant with no single point of failure within it. We deploy multiple devices at every level of our network to ensure that a hardware failure cannot eliminate or diminish service delivery. Multiple devices ensure that we can scale our offering at both the hardware as well as the software layer. We are utilizing a layer 7 switch (CSS) from Cisco to provide load balancing from the outside of our network as well as the inside of our network. www.OrangeLeap.com | firstname.lastname@example.org | 1 (800) 562-5150 | 13800 Montfort Drive, Suite 220, Dallas TX 75240 Orange Leap – Architecture Orange Leap Architecture Most CRM applications available today utilize a traditional client/server architecture. Orange Leap's ACRM employs a N-Tier architecture that is scalable at every layer. This ensures that we can scale individual layers of our application independently of the other. Orange Leap Architectural Components Database Orange Leap utilizes MySQL for a database server. Currently, we are utilizing master/server replication which means we use two database servers; we are constantly communicating with one and replicating to another. It is key to understand the The Guru executes reports on our replicated database. It still allows for real-time reporting, but does not impact the transactional database. As we scale our offering, we will likely utilize a MySQL cluster for greater scalability. Orange Leap utilizes a split database architecture allowing each customer to be provided a separate database instance, ensuring that customer data is not co-mingled, greatly reducing the threat to customer data. Additionally, this enables us to provide database backup and restore functions on a customer-by-customer basis -- a solution which provides the best mix of both scale and security. www.OrangeLeap.com | email@example.com | 1 (800) 562-5150 | 13800 Montfort Drive, Suite 220, Dallas TX 75240 Orange Leap – Architecture Data Access Layer The data access layer translates our relationship database model to an object model; it turns the relational tables into individual Java objects, and hands back domain objects that are used within the service layer. Orange Leap has implemented its data access layer utilizing iBATIS. The iBATIS Data Mapper provides a very simple and flexible means of moving data between your Java objects and a relational database. By utilizing iBATIS, Orange Leap also isolates the individual SQL calls into XML; this allows Orange Leap to utilize other database vendors (Oracle, Postgres, SQL Server) by simply modifying the XML (minimal to no Java code changes need to occur). This also allows us to scale to address database performance thresholds to either move to a full scale MySQL cluster or to an Oracle database on a large multi-corp Sun box. Our database servers have internal disk arrays, running RAID level 5. In 2010, we will move the database architecture onto a Storage Array Network (SAN) with RAID Level 5, which will provide us data expansion capabilities much beyond what can be done with just a single server. Domain Model Orange Leap's domain model is a collection of plain old java objects (POJOs); we have them for addresses, gifts, constituents, and all of the basic business entities within our system. They are simply utilized to encapsulate data and contain little to no logic. This provides a clean separation of data and logic within the platform, and also means that our Domain Model Objects can be utilized by the Service Layer and the Business Rule Engine, as well as potentially by a client-side API. The client-side of our APIs can use the same POJOs as our service side of our APIs because they are completely separate from the data access layer and the service layer. Integration Layer Orange Leap supports various integrations: SOAP API, REST API, email, and The Guru; The Guru is utilized for our document merge functionality for email and mail templates. Third party integrations would occur at our SOAP or REST layers, or integrate directly with the Orange Leap Active Network. Our Orange Leap Active Network bridges our hosted network at Rackspace and the customer's network. By using our Active Network, we can provide adaptations for MIP, Quickbooks, or other customer on-premise applications. To utilize the Active Network integration, we would install a small piece of software on a computer in the customer's network; that software would connect to the Orange Leap Active Network and would receive XML messages off of the network and translate those messages into the appropriate format, whether that is for MIP, Quickbooks, etc. Orange Leap's integration layer has been implemented on top of Spring Integration. Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns while building on the Spring Framework's existing support for enterprise integration. It enables simple messaging within Spring-based applications and integrates with external systems via simple adapters. Spring Integration's primary goal is to provide a simple model for building enterprise integration solutions while maintaining the separation of concerns www.OrangeLeap.com | firstname.lastname@example.org | 1 (800) 562-5150 | 13800 Montfort Drive, Suite 220, Dallas TX 75240 Orange Leap – Architecture that is essential for producing maintainable, testable code. Furthermore, Orange Leap separates Business Rules Processing, Active Messaging, Payment processing, etc... from the core Service Layer by utilizing Spring Integration. It also allows us to easily add integrations without affecting the Service Layer code; for example, workflow can easily be integrated into Orange Leap through our Integration Layer. Service Layer Orange Leap's application services are written in Java utilizing the Spring Framework. Orange Leap's application services follow a simple Interface/Implementation pattern which allows us to swap out implementations without affecting the calling application. A good example of this would be credit card payment processors -- we can easily swap out credit card processor implementations without having to change a single line of Java code within our service layer. The Service Layer provides all of the business logic for the Orange Leap platform as well as provides the link to the integration layer. All business logic is implemented in either Java or the Business Rules Engine. The decision to implement in Java versus the Business Rules Engine is based upon whether or not the logic will be customized on a customer-by-customer basis. If it needs to be customized, the logic is implemented in the Business Rules Engine; otherwise, it is implemented in Java. One might ask, Why not implement all logic in the Business Rules Engine? The simple answer is performance. Java is orders-of-magnitude faster at executing logic than the Business Rules Engine. Presentation Layer Orange Leap's presentation layer provides the customization capabilities to the entire User Interface (UI). Orange Leap's UI is also completely data-driven. When a form is requested by the web browser, the presentation layer determines what fields and in what order they are displayed on an organization-by-organization basis. Additionally, the presentation layer determines which fields are required, default formats, and associated error codes for each form field. Essentially, every form is created dynamically when the form is requested. Orange Leap's presentation layer is implemented as a combination of java script, special java script tags to define custom fields, custom sections, etc, jquery and html. The presentation layer communicates with the services layer utilizing Spring MVC and Spring Forms. Essentially, the presentation layer talks to form controllers that talks to the service layer. The form controllers take HTML forms and converting them into domain objects and calling into the service layer. Potential performance issues are addressed by implementing memory level caching within the application layer and database level caching within the database layer. Orange Leap Active Network The Orange Leap Active Network is implemented on top of ActiveMQ - an open source Java messaging service provider. Orange Leap's Active Network provides a bi-directional, publish-subscribe network that allows Orange www.OrangeLeap.com | email@example.com | 1 (800) 562-5150 | 13800 Montfort Drive, Suite 220, Dallas TX 75240 Orange Leap – Architecture Leap to exchange XML messages with third-party integrations. The Active Network allows Orange Leap to extend its message exchange into a customer's enterprise. This provides the facilities for Orange Leap to exchange gift information with the customer's on-premise accounting system. Additionally, other existing customer applications or systems, such as a Web Content Management System, can exchange data back to Orange Leap with the same messaging exchange. For example, if the CMS had the ability to change a home address, they could: * publish the XML representation of address onto the network, * the application would catch that message and transform it into a domain objects for an address, * pass it to the services layer and data access layer, and * then into the database. Because the network is loosely coupled and guarantees delivery, messages will never be lost, even if one end of the communication is unavailable. This is a significant departure from how most integrations are done in the non-profit world today. We do not rely on tightly coupled and fragile API's or cumbersome and error prone extract-transfer-load (ETL) processes. www.OrangeLeap.com | firstname.lastname@example.org | 1 (800) 562-5150 | 13800 Montfort Drive, Suite 220, Dallas TX 75240
"Orange Leap – Architecture"