IT Boxing: Java, JPA and Hibernate vs. ADO.NET and LINQ – 11 December 2007

Bulgarian Association of Software Developers

kindly invites you to take part in the

IT Boxing Championship

Dispute Topic: ADO.NET Entity Framework + LINQ vs. Java Persistence API and Hibernate

11 December (Tuesday), 18:00 h

Park Hotel „Moscow“, Sofia, Hall „Moscow“

Sponsored by

and

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).

Agenda

Time

Topic

Speakers

18:00-18:20

Presenting the „IT Boxing Championship“ initiative

[download presentation: Nakov-ITBoxing-ADO.NET+LINQ-JPA-Hibernate-Opening.ppt]

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

[download presentation: Branimir-Giurov-ITBoxing-LINQ-DeepDive.ppt]

[download demo: Branimir-Giurov-LINQ-ITBoxing.Demo.zip]

[download presentation: Stefan-Dobrev-ITBoxing-LINQ.ppt]

[download presentation: Stefan-Dobrev-ITBoxing-LINQ-Demos.zip]

[download presentation: Deyan-Varchev-ITBoxing-ADO.NET-Entity-Framework.ppt]

The .NET Team

19:20-19:35

Coffee Break

19:35-20:20

Java Persistence API and Hibernate

[download presentation: Peter-Milev-ITBoxing-Java-Team-Intro.ppt]

[download presentation: Martin-Valkanov-ITBoxing-Hibernate-Tools-Criteria-Search-Shards.ppt]

[download presentation: Svetlyo-Kapralov-db4o.ppt]

The Java Team

20:20-21:30

Open dispute and direct fight between the teams

The .NET Team

The 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.

Teams

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: http://blogs.telerik.com/blogs/dimitar_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/blog/.

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.

More Details

The event is free and open for anybody interested in this topic. The hall is large so take your friends with you. Everybody will get gift from our sponsors.

Results

The event was attended by more than 250 people! The vote of the audience stated the following results (not all visitors voted):

  • The .NET Team: 136 votes

  • The Java Team: 46 votes

The winner is the .NET Team!

Photos

The photo album form the event is really interesting. See it here.