תווכה

תּוֹוְכָה (באנגלית: Middleware) היא תוכנת מחשב המחברת רכיבי תוכנה או יישומים. תווכה משמשת לרוב לפיתוח והרצה של יישומים מורכבים ומבוזרים. התווכה משמשת כשכבה בין מערכת ההפעלה לבין היישום, ומספקת תכונות ומאפיינים ממוטבים יותר מאשר מערכת ההפעלה עצמה. השירותים המסופקים על ידי התווכה שונים ומגוונים ונגזרים מסוג התווכה. מאפיין רווח אותו מספקות רוב התווכות הוא ניהול תנועות ושמירה על יחידת העבודה הלוגית.

תווכה היא תוספת חדשה יחסית בנוף המחשוב, אם כי המונח נמצא בשימוש מאז שנת 1968. תוכנות תווכה צברו פופולריות בשנות ה-80 כפתרון לקישור יישומים חדשים למערכות ותיקות (Legacy), וחלקן הורחבו בהמשך כדי לשמש פלטפורמה למיחשוב מבוזר, דהיינו, שימוש ברשתות תקשורת כדי לחבר מספר יישומים שונים לכדי יישום מורכב אחד.

נכון לתחילת המאה העשרים ואחת, התווכה היא חלק אינטגרלי מטכנולוגיית המידע, ובעיקר זו המבוססת על ‎XML, SOAP, Web Service‎ וארכיטקטורה מוכוונת שירותים. כמו כן, תוכנות תווכה רבות יכולות לרוץ על מספר רב של פלטפורמות חומרה ומערכות הפעלה.

המונח "תווכה"
במקור, המונח תווכה שימש לציון תוכנה המחברת בין יישומים שונים, ונמצאת כשכבה על גבי מערכת הפעלה, בכל אחד מצדדי החיבור. במשך השנים, חלה הרחבה במונח והיום הוא משמש לציון תוכנת צד-שרת כלשהי, בדרך כלל עם יכולת הרצת שירותי תוכנה וניהול תנועות. בשל השימוש התכוף והרחב במילה, יש המחשיבים את המונח "תווכה" כזמזומילה.

סוגי תווכה
 Remote Procedure Call ‎(RPCs)‎ - לקוח משפעל פרוצדורות הרצות במערכות מרוחקות.  אפשר ויהיה סינכרוני או אסינכרוני.
 תווכה מוכוונת מסרים (MOM) - מסרים הנשלחים ללקוח נאספים ומאוחסנים עד לרגע בו ניתן להגיב להם. בזמן השליחה והקבלה, ממשיך הלקוח בביצוע עיבודים אחרים.
 Object Request Broker ‎(ORB)‎ - סוג זה של תווכה מאפשר ליישומים לשלוח עצמים ולשפעל שירותים במערכת מונחית-עצמים.
 תווכה מוכוונת SQL - תווכה בין יישומים לשרתי מסד נתונים.
 מערכת ניהול תנועות - מספקת כלים וסביבה לפיתוח והצבה של יישומים טרנזאקציונליים.
 שרת יישומים - תוכנה המאפשרת להציב על גביה שירותי תוכנה   ואספקתם ליישומים אחרים.
 Enterprise Service Bus - שכבת הפשטה על גבי מערכות EAI וניתוב מסרים ארגוניות.
 RTI - מערכת סימולציה מבוזרת המתווכת בין "פדרציות" (יחידות מממשות או שירותים ממוחשבים)

קישורים חיצוניים

הערות שוליים

הנדסת תוכנה