Systemintegration med CORBA

Systemudviklere kan kombinere softwarekomponenter på tværs af sprog og platforme med CORBA. Dette alternativ til Microsofts platform giver en universal grænseflade til programmer i store systemer.

Mæglerne

Selv små softwarevirksomheder skal idag forholde sig til en global Internet-verden, hvor deres program skal arbejde sammen med tusinde andre programmer. Systemudviklere og programmører skal forholde sig til, hvordan deres produkt indgår i netopkoblede og integrerede computersystemer. Her præsenterer vi dig for den ambitiøse platform for integration af softwarekomponenter, der kan genbruges på tværs af systemer. Lad os starte med at nævne 4 valgmuligheder.

Fire strategier for integreret systemudvikling
Når vi har hundrede programmører i en eller flere virksomheder, der hver har skrevet et antal softwarekomponenter, får vi spørgsmålet, hvordan disse moduler samles til en helhed? Spørgsmålet gælder den tekniske integration og produktion af det samlede system. Men det er også spørgsmålet, hvordan vi sikrer, at programmørerne arbejder efter samme retningslinier, så det er muligt at samle deres arbejde til en helhed.

Dette spørgsmål om platformen for softwareudvikling er blandt de vigtigste teknologiske diskussioner i softwarebranchen. Microsoft bruger sine egne platforme, der hedder COM: Common Object Model og DCOM: Distributed Component Object Model. Disse modeller udvikler Microsoft videre i deres .Net-strategi til for eksempel COM+.

Et alternativ til Microsofts model er CORBA. CORBA står for Common Object Request Broker Architecture. Det er altså en arkitektur for "mæglere", programmer som leder forhandlingerne mellem programobjekterne, så disse kan fungere som en helhed.

Det tredje alternativ er Java Remote Method Invocation (RMI). Som navnet siger hører den til Java-platformen.

Et sidste alternativ til såvel CORBA som de andre er den simple: Du gør det ikke. Det er realistisk ved små projekter med få og små softwarekomponenterne. Her kan du istedet lade dem kommunikere med hinanden som klienter og servere. Hvor de sender meddelelser og services til hinanden via en af standardprotokollerne som for eksempel HTTP. Men der er ikke nogen integration af programobjekter på tværs af platforme i dette tilfælde.

Vi fortsætter her med at beskrive ideen i CORBA. I en senere artikel kommer vi ind på de andre muligheder DCOM og RMI.

Samling af softwarekomponenter
Vi kan symbolisere softwarekomponenter med Lego-klodser, hvor CORBA's ORB lig med den byggeplade, som holder det hele sammen.

Udbredelsen af objektorienteret programmering gav anledning til, at alle programmer blev opdelt i objekter og klasser. Det giver afgrænsede og veldefinerede moduler. Men det giver også udfordringer til, hvordan man bygger disse softwarekomponenter sammen til store programmer.

Succes?

CORBA's udbredelse
CORBA bliver udviklet af konsortiet Object Management Group (OMG), hvor 700 virksomheder er medlemmer. De udformer specifikationerne, som CORBA består af. Flere virksomheder har lavet produkter efter disse specifikationer, hvor man blandt andet kan købe flere ORB's. Produkter i CORBA sammenhænge varierer fra gratis programmer på Internet til meget dyre professionelle produkter.

I forhold til CORBA's 10-årige levetid er det stadig beskedent med kommerciel succes som produkt. Flere af OMG's CORBA-specifikationer er optaget som industristandarder hos International Organization for Standards, ISO samt IEEE. Mens det på markedspladsen er RMI og DCOM, der kæmper om magten over programmørerne. CORBA kan derfor spille en stærk teoretisk rolle i uddannelser, mens det kommercielle marked domineres af Microsoft og andre aktører med deres kommercielle produktstandarder.

OMG har naturligvis meget materiale om CORBA på deres web-sider: http://www.omg.org/. Desuden findes der en specifik web-side for CORBA med oplysninger om standarder, og hvem der bruger den hvor: http://www.corba.org/.

På den sidstnævnte web-side finder man en liste over virksomheder og produkter, som understøtter CORBA, heriblandt flere ORB-produkter: http://www.corba.org/vc.htm.

Hvad kan CORBA?

Hvad kan CORBA?
CORBA gør det muligt at skrive distribuerede objektorienterede applikationer på tværs af platforme og på tværs af programmeringssprog. Det vil sige, at du i et program, der er skrevet i C og som kører på Windows, direkte kan bruge objekter, som er skrevet i Java og befinder sig på en anden maskine med UNIX.

CORBA er en standard klient/server specifikation, der siger hvordan man udformer programmer, så de kan bruge hinanden på tværs af maskiner, styresystemer og programmeringssprog. CORBA-standarden bliver realiseret med en såkaldt ORB, Object Request Broker. Det er ORB-programmet, som i praksis styrer sammenkobling og kommunikation mellem softwarekomponenterne.

Sprogneutral IDL
CORBA bruger et sprog kaldt Interface Definition Language (IDL) til at definere grænsefladen med softwarekomponenterne. Det CORBA's eget universelle sprog for at beskrive softwarekomponenter, der kan være skrevet i et andet programmeringssprog. Dette er udgangspunktet for, at CORBA understøtter vilkårlige programmeringssprog, hvor programmer i vidt forskellige programmeringssprog kan kombineres i samme system.

Specifikationen af IDL ligger tæt på Java, så der findes et konverteringsprogram, der kan oversætte Java programmer direkte til CORBA objekter. Det giver en genvej for Java-programmører til at lave IDL, uden først at skulle lære det.

CORBA tilbyder transparente objekter. Det betyder, at navne på programobjekterne, deres placering samt deres funktioner bliver kendt i hele udviklingsmiljøet. Ideen kan sammenlignes med det, du oplever med delte diske på et netværk: Du kan se diske på andre maskiner, og hvis du har tilladelse til det, kan du hente og bruge datafiler direkte på disse maskiner. Her går vi dog videre end at genbruge passive data, idet det er funktionelle objekter, der deles over CORBA.

Når et objekt skal samarbejde med tre andre objekter, der ligger på andre maskiner og er produceret af andre programmører, så oplyser ORB'en os om deres navn, og deres specifikationer. Vi får at vide hvilke funktioner de har, hvilke parametre der bruges osv. Dermed kan vi direkt anvende objekter, som er skrevet af andre programmører.

Computerworld Events

Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

It-løsninger | Online

ERP Insights 2025

Få den nyeste viden om værktøjer, der kan optimere hele din virksomhed med udgangspunkt i AI og fleksibilitet.

It-løsninger | København Ø

Automatisering med Copilot & Agentic AI

Høst viden og erfaringer fra andre om, hvordan Copilot og Agentic AI i praksis kan skabe værdi og fleksibilitet i din organisation.

Sikkerhed | Online

Erfaringer fra frontlinjen: Sådan ændrer trusselsbilledet sig

Kort og fokuseret digitalt event: Erfaren frontkæmper fra den digitale sikkerhedsverden giver dig overblik og konkrete anbefalinger til det aktuelle trusselsbillede.

Se alle vores events inden for it

Navnenyt fra it-Danmark

Norriq Danmark A/S har pr. 1. september 2025 ansat Søren Vindfelt Røn som Data & AI Consultant. Han skal især beskæftige sig med at effektivisere, planlægge og implementere innovative, digitale løsninger for Norriqs kunder. Han kommer fra en stilling som Co-founder & CMO hos DrinkSaver. Han er uddannet Masters of science på Københavns IT-Universitet. Nyt job

Søren Vindfelt Røn

Norriq Danmark A/S

Norriq Danmark A/S har pr. 1. oktober 2025 ansat Rasmus Stage Sørensen som Operations Director. Han kommer fra en stilling som Partner & Director, Delivery hos Impact Commerce. Han er uddannet kandidat it i communication and organization på Aarhus University. Han har tidligere beskæftiget sig med med at drive leveranceorganisationer. Nyt job

Rasmus Stage Sørensen

Norriq Danmark A/S

Norriq Danmark A/S har pr. 1. september 2025 ansat Birthe Kamstrup som Data & AI Consultant. Hun skal især beskæftige sig med at optimere datadrevne beslutningsprocesser til glæde for Norriq's kunder. Hun kommer fra en stilling som Teamlead/Senior Insight Specialist hos CompanYoung. Hun er uddannet i sociologi og har en bachelor i erhvervsøkonomi på Aarhus universitet. Nyt job

Birthe Kamstrup

Norriq Danmark A/S

Sentia har pr. 1. oktober 2025 ansat Morten Jørgensen som Chief Commercial Officer. Han skal især beskæftige sig med udbygning af Sentias markedsposition og forretningsområder med det overordnede ansvar for den kommercielle organisation. Han kommer fra en stilling som Forretningsdirektør hos Emagine. Nyt job