فهرست رده‌های نرم‌افزار
نرم‌افزار کامپیوتری می‌تواند بر اساس عملکرد به چندین رده تقسیم شود. سه رده اصلی در این رده‌بندی جای می‌گیرند: (۱)نرم‌افزارهای کاربردی، برای انجام کارهای کاربر طراحی شده‌اند. این نرم‌افزارها می‌توانند استفاده عمومی همچون واژه‌پردازهای عمومی و مرورگرهای اینترنتی باشند یا استفاده‌های خاصی همچون مدیریت کاربران، مدیریت اتومبیل‌ها و... باشند. نرم‌افزارهای کاربردی با (۲)نرم‌افزارهای سیستمی ارتباط برقرار می‌کنند. نامی که برای برنامه‌هایی به کار می‌رود که وظایفی همچون به‌راه انداختن کامپیوتر، اتصال به اینترنت و... را انجام می‌دهند. گونه دیگر، (۳)ابزارهای برنامه‌نویسی کامپیوتر همچون کامپایلرها و پیوند دهنده‌ها هستند.
میان‌افزار پیام‌محور
چنین لایه‌ی میان‌افزاری به واحد‌های نرم‌افزاری اجازه می‌دهد که مستقل از هم توسعه داده شده و روی پلتفرم‌های متفاوتی که شبکه شده‌اند، با همدیگر تعامل داشته باشند. برنامه‌های توزیع شده بر روی نودهای متفاوت شبکه از رابط نرم‌افزاری برای ارتباط استفاده می‌کنند. به علاوه، با فراهم‌سازی رابط مدیریتی، این سیستم مجازی‌‌ جدید، که به منظور ارتباط برنامه‌ها با همدیگر ایجاد شده را می‌توان مطمعن و امن کرد. میان‌افزار پیام‌محور المان‌هایی را فراهم می‌کند که در همه‌ی واحدهای ارتباطی معماری کلاینت/سرور قرار می‌گیرد و عموما از فراخوانی‌های آسنکرون بین کلاینت و سرور پشتیبانی می‌کند. میان‌افزار پیام‌محور از این که توسعه‌دهنده‌های برنامه درگیر پیچیدگی‌های ماهیت master-slave مکانیزم کلاینت/سرور بشوند، جلوگیری می‌کند. همه‌ی این مدل‌ها به یک واحد نرم‌افزاری اجازه می‌دهد که رفتار یک واحد دیگر را بر روی یک شبکه تحت تاثیر قرار دهد.