Taiwan UniGrid (Taiwan University Grid) is a Grid computing platform, which is founded by a community of educational and research organizations interested in Grid computing technologies in Taiwan. In this paper, we present the design and development of a middleware for Taiwan UniGrid. Taiwan UniGrid middleware consists of three primary modules: 1) UniGrid Portal, 2) Computing Service, and 3) Data Service. We explain the major design issues that we suffered from the development of these three modules and propose the corresponding approaches to them. The detailed system architecture, software components and features are elaborated. Finally, an example of a workflow consisting of MPI parallel jobs demonstrates that users can utilize Grid resources with ease via our middleware platform. Keywords Grid middleware, portal, computing grid, data grid.