Zobrazit minimální záznam

L'anatra - knihovna pro interoperabilitu mezi jazyky C# a Java
dc.contributor.advisorJežek, Pavel
dc.creatorPrůšová, Kateřina
dc.date.accessioned2024-11-29T09:55:48Z
dc.date.available2024-11-29T09:55:48Z
dc.date.issued2024
dc.identifier.urihttp://hdl.handle.net/20.500.11956/193799
dc.description.abstractTato práce měla za cíl vytvořit softwarovou knihovnu umožňující interoperabilitu mezi programovacími jazyky C# a Java. Práce umožňuje použití podmnožiny Javové funkcionality ze C#. Požadavky, které by měla knihovna splňovat, byly určeny analý- zou potenciálních scénářů použití a již existujících souvisejících implementací. Důraz byl kladen na návrh uživatelsky přívětivého a typově bezpečného API. Implementované řešení umožňuje volání statických i instančních Javových metod ze C#. Dále umožňuje vytvářet instance Javových objektů ze C# nebo je získávat prostřednictvím návratových hodnot volaných Javových metod. C# reprezentuje in- stance Javových objektů prostřednictvím proxy tříd, které emulují API jim odpovída- jících Javových tříd, potenciálně včetně hiearchie dědičnosti a rozhraní, která implemen- tují. Implementace C# proxy typů (tříd i rozhraní) je generována v době kompilace prostřednictvím inkrementálního generátoru zdrojového kódu. Generované proxy typy jsou založeny na API poskytovaném implementovanou knihov- nou pro interoperabilitu. Tato knihovna je převážně založena na kombinaci Java Native Interface (JNI) a .NET Platform Invoke (P/Invoke). Nicméně, řešení také experimen- tuje s optimalizací určitých typů volání pomocí Foreign Function API poskytovaného aktuálním Javovým projektem Panama. 1cs_CZ
dc.description.abstractThis thesis aimed at creating a software library enabling interoperability between C# and Java programming languages by enabling the use of a subset of Java features from C# code. Requirements that the library should meet were determined via analysis of potential use case scenarios and similar existing implementations. The emphasis was put on providing a user-friendly and type-safe API. The implemented solution enables the invocation of static and instance Java methods from C#. It also allows creating Java object instances from C# code or obtaining them as return values of invoked Java methods. C# represents Java object instances as proxy classes that emulate the API of corresponding Java classes, possibly including an inher- itance hierarchy between them and the interfaces they implement. Implementation of C# proxy types (classes and interfaces) is generated at compile time via the incremental source generator. Generated proxy types are based on API provided by the implemented interoperability library. This library is mainly based on a combination of Java Native Interface (JNI) and .NET Platform Invoke (P/Invoke). However, the solution also experiments with optimizing certain invocation kinds using Foreign Function API provided by the recent Java Project Panama. 1en_US
dc.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjectInteroperability|C#|Java|JNI|Project Panamaen_US
dc.subjectInteroperabilita|C#|Java|JNI|Project Panamacs_CZ
dc.titleL'anatra - Library for interoperability between C# and Javaen_US
dc.typediplomová prácecs_CZ
dcterms.created2024
dcterms.dateAccepted2024-09-11
dc.description.departmentDepartment of Distributed and Dependable Systemsen_US
dc.description.departmentKatedra distribuovaných a spolehlivých systémůcs_CZ
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.identifier.repId266543
dc.title.translatedL'anatra - knihovna pro interoperabilitu mezi jazyky C# a Javacs_CZ
dc.contributor.refereeParízek, Pavel
thesis.degree.nameMgr.
thesis.degree.levelnavazující magisterskécs_CZ
thesis.degree.disciplineComputer Science - Software Systemsen_US
thesis.degree.disciplineInformatika - Softwarové systémycs_CZ
thesis.degree.programComputer Science - Software Systemsen_US
thesis.degree.programInformatika - Softwarové systémycs_CZ
uk.thesis.typediplomová prácecs_CZ
uk.taxonomy.organization-csMatematicko-fyzikální fakulta::Katedra distribuovaných a spolehlivých systémůcs_CZ
uk.taxonomy.organization-enFaculty of Mathematics and Physics::Department of Distributed and Dependable Systemsen_US
uk.faculty-name.csMatematicko-fyzikální fakultacs_CZ
uk.faculty-name.enFaculty of Mathematics and Physicsen_US
uk.faculty-abbr.csMFFcs_CZ
uk.degree-discipline.csInformatika - Softwarové systémycs_CZ
uk.degree-discipline.enComputer Science - Software Systemsen_US
uk.degree-program.csInformatika - Softwarové systémycs_CZ
uk.degree-program.enComputer Science - Software Systemsen_US
thesis.grade.csVýborněcs_CZ
thesis.grade.enExcellenten_US
uk.abstract.csTato práce měla za cíl vytvořit softwarovou knihovnu umožňující interoperabilitu mezi programovacími jazyky C# a Java. Práce umožňuje použití podmnožiny Javové funkcionality ze C#. Požadavky, které by měla knihovna splňovat, byly určeny analý- zou potenciálních scénářů použití a již existujících souvisejících implementací. Důraz byl kladen na návrh uživatelsky přívětivého a typově bezpečného API. Implementované řešení umožňuje volání statických i instančních Javových metod ze C#. Dále umožňuje vytvářet instance Javových objektů ze C# nebo je získávat prostřednictvím návratových hodnot volaných Javových metod. C# reprezentuje in- stance Javových objektů prostřednictvím proxy tříd, které emulují API jim odpovída- jících Javových tříd, potenciálně včetně hiearchie dědičnosti a rozhraní, která implemen- tují. Implementace C# proxy typů (tříd i rozhraní) je generována v době kompilace prostřednictvím inkrementálního generátoru zdrojového kódu. Generované proxy typy jsou založeny na API poskytovaném implementovanou knihov- nou pro interoperabilitu. Tato knihovna je převážně založena na kombinaci Java Native Interface (JNI) a .NET Platform Invoke (P/Invoke). Nicméně, řešení také experimen- tuje s optimalizací určitých typů volání pomocí Foreign Function API poskytovaného aktuálním Javovým projektem Panama. 1cs_CZ
uk.abstract.enThis thesis aimed at creating a software library enabling interoperability between C# and Java programming languages by enabling the use of a subset of Java features from C# code. Requirements that the library should meet were determined via analysis of potential use case scenarios and similar existing implementations. The emphasis was put on providing a user-friendly and type-safe API. The implemented solution enables the invocation of static and instance Java methods from C#. It also allows creating Java object instances from C# code or obtaining them as return values of invoked Java methods. C# represents Java object instances as proxy classes that emulate the API of corresponding Java classes, possibly including an inher- itance hierarchy between them and the interfaces they implement. Implementation of C# proxy types (classes and interfaces) is generated at compile time via the incremental source generator. Generated proxy types are based on API provided by the implemented interoperability library. This library is mainly based on a combination of Java Native Interface (JNI) and .NET Platform Invoke (P/Invoke). However, the solution also experiments with optimizing certain invocation kinds using Foreign Function API provided by the recent Java Project Panama. 1en_US
uk.file-availabilityV
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémůcs_CZ
thesis.grade.code1
uk.publication-placePrahacs_CZ
uk.thesis.defenceStatusO


Soubory tohoto záznamu

Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail

Tento záznam se objevuje v následujících sbírkách

Zobrazit minimální záznam


© 2025 Univerzita Karlova, Ústřední knihovna, Ovocný trh 560/5, 116 36 Praha 1; email: admin-repozitar [at] cuni.cz

Za dodržení všech ustanovení autorského zákona jsou zodpovědné jednotlivé složky Univerzity Karlovy. / Each constituent part of Charles University is responsible for adherence to all provisions of the copyright law.

Upozornění / Notice: Získané informace nemohou být použity k výdělečným účelům nebo vydávány za studijní, vědeckou nebo jinou tvůrčí činnost jiné osoby než autora. / Any retrieved information shall not be used for any commercial purposes or claimed as results of studying, scientific or any other creative activities of any person other than the author.

DSpace software copyright © 2002-2015  DuraSpace
Theme by 
@mire NV