3. About MIMOS
l MIMOS BERHAD (Malaysia's national R&D centre in ICT)
l Established on 16 March 1995, as a company under the
Ministry of Finance (MoF) .
l MIMOS main activities :
• Focusing on developing technology platforms.
• Conducts research through innovative projects.
• Develop software for government agencies
• Enhance the marketing channel for the entrepreneur
MIMOS TPMMIMOS KHTP
4. MIMOS Operations
Vision
To be a Premier applied research
centre in frontier technologies
Mission
To pioneer innovative information
and communication technologies
towards growing globally competitive
indigenous industries.
My Team
MIMOS Products Department
5. Overview of the Internship
• MIMOS KHTP
• (Software Development Team SDL)
• From January 19, 2015 to August 21, 2015
• Projects :
Public void project {
Maven,
NoSQL Database,
Serialization ,
ElasticSearch,
Jsoup,
Coding Pattern
}
6. NoSQL Database
NoSQL databases family :
• non-relational
• document-oriented
• no prefixed, rigid, database schemas
• no joins
• horizontal scalability
Document/oriented : MongoDB
Key value : MapDB
7. MongoDB with JAVA API
• Scalable High-Performance Open-source and Document-oriented
database
• Full-index support for high performance
• Made up of multiple collections and it’s schema-less,contains documents.
MongoJack ( Perfect Jackson Mapper )
Reason :
•MongoDB uses BSON to store documents. MongoJack provide Java JSON
mapper for MongoDB.
•Deserialises queried object directly from the MongoDB
stream
•Supports mapping ObjectIds to strings and byte arrays, using an
@ObjectID annotation.
Theory Aspects
8. Develop the working RESTful webservices using Jetty and the
MongoDB database.
MongoDB with JAVA API
Technical Aspects
•Perform all the basic MongoDB CURD operations using the JAVA API.
•Working and iterate with the Java model (person,company ).
•Learn the MongoDB utility pattern.
•Monitor all the database data using MonjaDB.
9. MapDB with JAVA API
• Pure Java database and embedded database engine.
• Provides Java collections backed by disk/memory.
• Huge indexes and persistent data model.
Theory Aspects
Benefit of using MapDB
•High performance compared to HashMap
•Secondary Collections. Overcome the limitations of scalability and
performance by the rational databases. Using the Bind class, we can
establishi binding and perform mapping.
Primary
Collections
Secondary
Collections
Mapping
10. Technical Aspects
•Perform all the basic MapDB CURD operations using the JAVA API.
•Working and iterate with the Java model (person,company ).
•Learn the MapDB utility pattern.
Develop the working RESTful webservices
using Jetty and the MapDB database.
(InverseMapping is implemented here).
MapDB with JAVA API
11. Serialization
Gson
• Gson is a Java library to convert java objects to/from JSON
• presentation.
• JSON is a JavaScript Object Notation,data-interchange format.
• Allow custom representation for objects.
• toJson() and fromJson() method
Disadvantages :
• Slow serialization and deserialization performance compared to Jackson.
• Dont have Tree model structure (DOM-like access).
• Only default constructor can be used .
12. Serialization
Apache Avro
• Rich data structures ,compact and fast binary data formats.
• Store persistent data in a container file.
• Relies on schemas. The schema is used every time we access the avro
data.
Special features :
•Dynamic Typing
•Untagged data
•No manually-assigned field IDs
Already implement Avro jersey protocols.
The performance is fast.
13. ElasticSearch
Features :
•Distributed and multitenant-capable full-text search engine with a
RESTful web interface
•Schema-free JSON documents.
•Allow storing,searching and analyzing big volumes of data quickly.
Technical Aspect
•Perform the basic ElasticSearch operation using the Java API such
as Index,Get,Search,Delete and Update.
•Develop the utility class for the ElasticSearch by referring to the
recommended pattern.
15. Jsoup
• Best Java HTML parser,implements the HTML5 specifications.
• Consist of DOM ( Document-object model ) to ease the input,
extracting data, modifying data and cleaning HTML process.
• Very fast and high performance in extracting data from the
HTML.
My Task
• Query the elements and contents from the websites like TheStar
and myMetro.
• Clean the Html contents by using HtmlCleaner libraries.
16. Jsoup
Screenshot from the project.
Tools Description
Unit Test HtmlUnit
Jsoup Extract Html
JTidy Traverse XML elements
17. Apache Maven
•Maven is the build-tool or software project management tools.
•Maven build lifecycle is a well define the order in which the goals
are to be executed.
Maven Goals :
clean
package
install
generate-sources
deploy
18. JUnit
• Perfect unit testing framework for the Java programming
languages.
• Assisting in development of test-drive development.
• Features :
• Follow the unit testing pattern provided from
Mr. Matthew.
• Provides Annotation to identify the test methods.
• Provides Assertion for testing expected results.
• Less complex and take less time.
19. Current Project
RESTNoSQL
- Understand the REST Java protocol.
- Implements the project design pattern such as proxy, command
and filter pattern.
- Steps to the final project
delivarables.
Delivarables item
20. Challenges and Achievement
Challenges
• Professional Environment
• New Technology
• Requirements
Achievement
• MongoDB, MapDB,
• ElasticSearch, Apache Lucene
• Java advance concept and framework ( MVC )
• Data structures in Java
• JUnit ( Test cases ),Jsoup
• Serialization : Avro, Gson
• Coding pattern and naming conventions in Java
• Time management
• Deductive and inductive coding
• Critical reasoning and clean coding
21. Self - Evaluation
Quality of work
Initiative
Quantity of work
Attendance
Punctuality
Dependability
Attitude
Relation with others
Overall
Work on own initiative
Good
Regular
Good
Good
Good
Very Good
Very good and accepted
Good
22. Conclusion
• Industrial training program in MIMOS had given oppurtinities
to trainee to prepare themself as future IT experts.
• MIMOS is one of the best R&D company for trainee to have exposure
on Information Technology development industry.
• MIMOS has a lot of dedicated employees who is willing to help to make
this industrial training program a success.
• Well delivered the final project and give benefits to the Host Company
supervisor and manager.
Recommendations
•Applying the leading company work environment into MIMOS
culture.
•Reduce the relationship gap between the industry and education.
•Encourages employees to think strategically about the R&D
activities in MIMOS.