Date post: | 03-Jul-2015 |
Category: |
Business |
Upload: | nguyen-hai |
View: | 1,204 times |
Download: | 3 times |
http://www.esofthead.com
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, Project Management• 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, Document Management, Project Management
• Engroup has been developed since 4/2008.
http://www.esofthead.com
Features• Dashboard: News• Connections: Private Message and User List.• Profile: User account, picture and other personal
information.• 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.)• Document Management• Project Management.• 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, Project
Management and Timesheet modules are added and integrated with existing modules are CRM, HRM. Simple Reporting System is developed that can display charts.
• Engroup 1.6: Advanced Reporting System, Bug Tracking, Timesheet
• 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 social networking,
finance etc could be added later.
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 Enterprise Integration Framework Spring
Integration to implement publish-subscribe pattern to dispatch messages to appropriate channels.
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://esofthead.com• Engroup site http://esofthead.com/node/25• eSoftHead blog: http://blog.esofthead.com• Engroup download page:
http://sourceforge.net/project/engroup