Functional performance and design are the three basic aspects of measuring software, and open source Jivejdon is one of the cases where these three are perfectly combined. ivejdon is a true, thorough and completely object-oriented software system. It is currently the leading, high-level open source forum system (Apache2.0) in China, constantly tracking and applying the latest design concepts of global software (DDD and other background PPT introduction). Reflecting the popular direction of software design, it is the forum software closest to cloud computing in China. JiveJdon is not just an ordinary forum, it integrates blog posts. You can follow people's post topics and tag categories. JiveJdon's business goal is Quora.
JiveJdon is a complex software system independently developed based on JdonFramework in accordance with the latest foreign design philosophy "Domain-Driven Design" (DDD for short) and JiveJdon design features:
New modeling: model-driven design method EvansDDD; true OO design and programming; easy and convenient to add functions, strong maintainability New architecture: traditional programs run sequentially and synchronously within a thread, which is not suitable for current multi-core CPUs and distributed systems; JiveJdon is based on JdonFramework's new event concurrency model, making full use of the multi-core and multi-thread characteristics, and because it is lock-free, concurrency is faster.
Separated permission system: The user authentication permission system is separated from the business core; the interface is separated from the business core, and the database is separated from the business core. Good scalability: excellent and fast performance, strong scalability, and can be expanded to the memory cloud computer platform, relying on the memory of JdonFramework The optimization strategy can cope with high concurrent load access. Click here to view cases that do not consider performance optimization.
JiveJdon has good scalability, adopts a completely separated multi-layer architecture, and can be equipped with any database through a J2EE server; at the same time, it realizes the true separation of interface and business logic, and users can design their own interface templates at will, which is no longer as popular as it is now. Some forums must be selected from templates provided by the original forum author. JiveJdon adopts the most advanced international design standards to push free forums to a new height.
JiveJdon is not just a forum program, its Message model can be reused in cross-domain scopes such as website content systems, news release systems, e-commerce systems, warehouse management systems, resource management systems (part of which has been implemented), realizing the current reuse research field The highest level of static reuse: business model reuse. Related articles: Software reuse to quickly adapt to changing requirements. Competing target GoogleAppEnginee.
New modeling
Jivejdon was developed under the guidance of EvansDDD in accordance with the latest international model-driven method, adopting OO object-oriented analysis and design programming method, abandoning the traditional ER modeling data table-driven development method, and can be used as a complete sample program for learning EvansDDD. Click here to learn about DDD domain modeling.
The JiveJdon core domain model diagram is as follows. The modeling process comes from actual DDD (EvansDDD: Domain-DrivenDesign):
new architecture
JiveJdon's business layer adopts a component-oriented architecture with dynamic component design, which can easily and conveniently expand new functions without causing errors. The running sequence of traditional business components follows the code calling sequence determined during programming. The obvious disadvantage is that it loses flexibility and cannot be dynamically configured and run according to actual needs, so it cannot adapt to changes in needs faster; while dynamic component definition combines business components. The relationship between is specified at runtime. JiveJdon also shows a general permission implementation case based on AOP.
The JiveJdon component architecture is designed as follows:
Excellent performance
JiveJdon is based on the object cache design principle, which greatly improves the running speed and has good scalability. It can use the open source cloud computing memory technology Terracotta to achieve powerful processing capabilities of distributed cloud computing. For detailed discussion, click here.
The test sample of jivejdon4.4 in 2011 (can be opened with Jmeter): jivejdon.jmx Result: Aggregation report.jmx The latest test results are as follows. Since database and other operations are implemented using asynchronous events, write operations such as replies and post modifications are Based on memory domain object implementation, performance is greatly improved:
Cloud function features
Similar to Google's full-text search (a Compass+lucene forum can only become a trash can without powerful search); AOP-based universal permission implementation; EvansDDD implementation case; plug-in management of all business functions; complete separation of interface and content; relying on Jdon The framework has high performance and real-time content updates; it has the characteristics of antispam software and has a rejection function for web crawlers or search bot spiders that frequently crawl.