IT Boxing – ADO.NET Entity Framework and LINQ vs. Java Persistence API (JPA) and Hibernate
Next week (11 December 2007) I organized very interesting event for developers in Sofia: IT Boxing championship where .NET and Java developers will dispute the state-of-the-art data access technologies in their platforms: http://itboxing.devbg.org/events/adonet-entity-framework-linq-vs-jpa-hibernate/.
About the IT Boxing Championship
The initiative “IT Boxing Championship” is a series of events organized by the Bulgarian Association of Software Developers (BASD) at which we invite supporters of different software technologies to an open dispute “Which technology is better?”. At these meetings the adherents of the opposing technologies defend their vision for better technology by presentations, discussions and open debate that ends up in direct fight with inflatable boxing gloves. For each IT boxing event we assign a topic for dispute and teams that stand up for contrary visions. During the fight all contestants are obligated to keep the opponent of injuring.
ADO.NET Entity Framework + LINQ vs. Java Persistence API and Hibernate
The topic of this event is “Database Access Technologies and Object-Relational Persistence Frameworks in .NET and Java”. The .NET team will present the new ADO.NET, the ADO.NET Entity Framework and LINQ in C# 3.0. The Java team will stand up for Hibernate and the Java Persistence API (JPA).
|18:00-18:20||Presenting the “IT Boxing Championship” initiative||Svetlin Nakov|
|18:20-18:30||Presenting the dispute topic, teams and rules||Svetlin Nakov|
|18:30-18:35||Draw lots: Who will start first||Svetlin Nakov|
|18:35-19:20||ADO.NET Entity Framework and LINQ||The .NET Team|
|19:35-20:20||Java Persistence API and Hibernate||The Java Team|
|20:20-21:30||Open dispute and direct fight between the teams||The .NET TeamThe Java Team The Referee Team|
ADO.NET, ADO.NET Entity Framework and LINQ
ADO.NET is the standard data access library built in .NET Framework used by developers to access and modify data stored in relational database systems, call stored procedures and access non-relational data sources like XML.
LINQ (Language Integrated Query) is extension to C# and other .NET languages that adds native querying syntax directly into the language and thus simplifies querying data and dramatically reduces the amount of code.
ADO.NET Entity Framework is new paradigm for developing database applications. It allows developers to focus on data through an object model instead of through a logical/relational data model. It abstracts the logical database structure using a conceptual layer, a mapping layer, and a logical layer and provides support for LINQ to simplify querying.
Java Persistence API and Hibernate
Java Persistence API (JPA) is a Java framework based on the concept of object-relational mapping (ORM) that allows developers to manage relational data in Java SE and Java EE platforms. JPA defines persistent entities as lightweight Java classes that are mapped to the database tables. Entities typically have relationships with other entities, and these relationships can be specified directly in the entity class by using annotations, or in a separate XML descriptor. Once the mapping between classes and tables is defined, the persistent entities can be loaded, modified, persisted, deleted and queried by simple API.
Hibernate is a powerful, high performance object/relational persistence framework, very popular among the Java developer community. By concept it is very similar to JPA and provides mapping objects to tables, querying and manipulating persistent objects.
Three teams take part in the event:
The .NET Team – stands up for ADO.NET Entity Framework and LINQ
The Java Team – stands up for Java Persistence API and Hibernate
The Referees Team – technologically neutral, moderate the discussion
The .NET Team
Branimir Giurov is very skillful Microsoft and .NET software engineer, with many years of experience as senior developer, trainer, consultant, team leader and development manager. He’s a C# MVP and a UG Lead at SofiaDev.org. Branimir is freelance developer. Visit his blog here: http://blogs.sofiadev.org/blogs/branimir/.
Stefan Dobrev is co-owner of Avaxo Ltd., an experienced .NET developer and distinguished speaker at various Microsoft events for developers.. Visit his blog here: http://ligaz.blogspot.com.
Deyan Varchev is experienced .NET developer and a speaker at various Microsoft events for developers. Currently he is co-owner of Avaxo Ltd. where handles complex .NET and Web projects. Visit his blog here: http:// http://blog.varchev.net/.
Galin Iliev is a senior software engineer with solid experience in .NET and Microsoft technologies. He has MCPD and MCSD.NET certifications. He is Microsoft certified trainer. Now Galin works as freelance developer. Visit his blog here: http://www.galcho.com/blog/.
Dimiter Kapitanov is senior software engineer at telerik. Dimiter has solid experience in development of .NET applications and reusable components. Visit his blog here: https://softuni.bg_kapitanov/.
The Java Team
Miroslav Nachev is software engineer with more than 18 years of experience in software design and development, system integration, VoIP and tele¬communications projects. Some of the programming languages and technologies in his competence include Java, Fortran-77, Pascal, x86 assembler, C/C++, 4GL Magic, Web Services, Hibernate, JPA, XML Security & Encryption, Java Security, X.509 Certificates, XAdES, Java EE, Swing and VoIP.
Martin Valkanov is senior software engineer in eBG.bg. He has solid development experience in Java and open source technologies, Web applications, databases and enterprise systems.
Peter Milev is experienced Java engineer. He has years of experience in Java and open source technologies, focusing on Web applications with AJAX and database systems.
Svetoslav Kapralov is senior software engineer, experienced in various Java technologies and frameworks.
Vesko Arnaudov is senior software engineer in VMware Inc.. He has many years of experience as developer, team leader, trainer and consultant. His expertise includes Java, Java EE, Oracle, Web and enterprise applications.
The Referees Team
Svetlin Nakov is software engineer with more than 10 years of experience in the development of Java, .NET, Web and Win32 applications, software engineering consultant and trainer, author of 4 books and above 30 technical articles and presentations. He is one of the founders and currently chairman of the Bulgarian Association of Software Developers (BASD), director training and consulting activities in the National Academy for Software Development (NASD) and one of the founders of the Bulgarian Java User Group and author of open source projects. Visit his blog here: http://www.nakov.com/.
Nikolay Todorov is team lead in Musala Soft. He has strong commercial experience with both Java and .NET (he is Microsoft Certified Application Developer with .NET) and solid practice and knowledge about software development processes, including Agile.
Stanimir Boychev is technical director and managing partner in Musala Soft. His 12+ years experience in the area of software development covers a very broad set of technologies, including architecting and leading Java EE and .NET projects.
The event will be held on 11 December 2007 (Tuesday), 18:00 h in Park Hotel “Moscow”, Sofia, Hall “Moscow”.