eSoftHead Groupware solutions http://www.esofthead.com
eSoftHead profile • A Vietnamese IT company set up since 8/2008. • eSoftHead offers the following services: – Outsourcing and Offshoring. – Technical consultant. – Customized services from eSoftHead products.
• Contact information: – Service request:
[email protected] – Address: 15/20/12 Truong Quoc Dung street, Ho Chi Minh city, Viet Nam. – Telephone: (+84) 091 8734 068
http://www.esofthead.com
eSoftHead Competences • • • •
Methodology: CMM, RUP, Scrum, XP. Technology: Web Service, SOA, REST, RIA. Programming Languages: Java, Flex, .NET. Frameworks and Libraries: Spring (core and all extensions), Hibernate, iBatis, Ehcache, Cxf, Grails, Cairgorm. • Softwares: LDAP, Maven, Ant, CVS, SVN. • Database: MySQL, Oracle, MSSQL Server
http://www.esofthead.com
eSoftHead Solutions • Rich Internet Application: Flex/Ajax base. • Content Management: JCR 170 – Jackrabbit implementation. • Groupware service: Calendar, Chat, Note, Contact, News, Forum, Wiki etc • Enterprise architecture: ESB, JMS, Osgi. • Software best practices: TDD, Unit test, API Design, OO Principles.
http://www.esofthead.com
Enterprise Groupware (Engroup) • • • • • •
Introduction Features Roadmap Technical Requirements Engroup Architecture Development Status
http://www.esofthead.com
Engroup introduction • Engroup is an open source groupware under GPL license. • Engroup powers the cooperation among company staff by providing the Chat, Wiki, Forum, etc. modules.
http://www.esofthead.com
Engroup introduction (cont.) • In addition, Engroup provides the modules for company operations such as HRM, CRM, etc.. • Engroup has been developed since 4/2008. • Engroup 1.0 was released on 3/2009.
http://www.esofthead.com
Features • Dashboard: News, Private Message and User Preferences. • Administrator: system and security configuration. • Human Resource Management: company and employee information. • Customer Relationship Management: basic customer contacts, lead, campaign information.
http://www.esofthead.com
Features (cont.) • • • • • •
Forum: message board. Wiki: knowledge management. Mail: only IMAP is supported. Chat: any XMPP server is connectable. To-do: task management. News: all versions of RSS and Atom are supported.
http://www.esofthead.com
Roadmap • Engroup 1.5: Document Management System is added and integrated with HRM, CRM modules. • Engroup 1.6: Calendar module is added and integrated with CRM, To-do modules. • Engroup 2.0: enable System Administrator to configure various options of clustering as well as caching level in enterprise environment.
http://www.esofthead.com
Roadmap (cont.) • Many modules such as Project Management, Bug Tracking, Time sheet, Finance, etc. will also be added to the upcoming versions.
http://www.esofthead.com
Technical Requirements • Performance and Scalability: services must be able to serve an unlimited number of users 24/7. Engroup must be designed to be able to run in clustering environment effectively. • Extensibility: components are designed with loose coupling and high cohesion. Cost of upgrading and extending must be minimal.
http://www.esofthead.com
Technical Requirements (cont.) • Modularity: Each module code base is independent of the others. One module can be changed without impacting any other one. • Security: User access is restricted based on method level of service class. • Testability: The system is designed to make it easy for writing unit test, integration test.
http://www.esofthead.com
High Level Architecture • Communication method between Client and Server are AMF, HTTP protocols. • Engroup server modules could be integrated with other clients via REST.
http://www.esofthead.com
Engroup Client Platform • Platform is developed based on eSoftHead framework including an extension of Adobe Cairngorm framework. • Module architecture follows MVC pattern.
http://www.esofthead.com
Engroup Client Platform (cont.) • Platform manages Module life cycle. • Platform routes messages sent from one module to appropriate client channel that then dispatches events to listening modules. It helps the module loose coupling with each others. • http://www.esofthead.com
Engroup Client Platform (cont.) • Platform and common API are independent of AIR library. • Factory pattern is used to separate logic code between platform and specific AIR API → Engroup client can run on both desktop and web environment.
http://www.esofthead.com
Engroup Server Platform • Platform is developed based on Spring framework and Osgi platform (Equinox) as well. • Platform packages many third-party Java libraries as Osgi bundles: – – – –
Apache libraries. Chat. Logging. XML processing etc.
http://www.esofthead.com
Engroup Server Platform (cont.) • Forum, Wiki, Mail products are incorporated into Engroup server by: – Changing the legacy code base (Limit usage). – Data integration (for example: LDAP). – API - using Osgi event library to dispatch messages to appropriate event channel.
http://www.esofthead.com
Engroup Server Platform (cont.) • Each Engroup module follows OO principles: – Each layer has single and clear responsibility. – Extensibility. – No cycle dependency. – Separating interface and implementation into different packages.
http://www.esofthead.com
Development Status • There are more than 20 Flex projects and nearly 30 Java projects in Engroup workspace. • eSoftHead automates Engroup build process using Hudson – a Java CI server.
http://www.esofthead.com
Development Status (cont.) • Main features are tested by using unit test or integration test approach. • eSoftHead developed its test framework library for Osgi platform, LDAP, Mail, Database.
http://www.esofthead.com
Resources • eSoftHead website: http://www.esofthead.com • eSoftHead blog: http://blog.esofthead.com • Engroup download page: http://sourceforge.net/project/showfiles.php? group_id=255061
http://www.esofthead.com